CentOS dependency hell

qwertz

CentOS dependency hell
« kdy: 11. 06. 2018, 18:44:21 »
V rámci jednoho firemního projektu provozujeme server na CentOS 7 jako DB server. Jediný externí repozitář je PostgreSQL, tzn. v systému prakticky nejsou externí balíky. Přesto se při pokusu o update po 2 měsících YUM zasekl v dependency hell s tím, že nemůže instalovat 90 balíků typu základní knihovny glib??? protože závislosti.

V porovnání se stejným typem repozitářů v Opensuse a zypper je yum naprosto tragický, místo návrhu variant co s tím 5 minut vypisuje telefonní seznam .so knihoven o na čem závisí, navrhne odstranit systemd a yum, odpoví si sám že jsou protected a nic seělat nebude :-).

To fakt existuje v roce 2018 u RedHat klonů dependency hell?


Youda

Re:CentOS dependency hell
« Odpověď #1 kdy: 11. 06. 2018, 20:19:58 »
V rámci jednoho firemního projektu provozujeme server na CentOS 7 jako DB server. Jediný externí repozitář je PostgreSQL, tzn. v systému prakticky nejsou externí balíky. Přesto se při pokusu o update po 2 měsících YUM zasekl v dependency hell s tím, že nemůže instalovat 90 balíků typu základní knihovny glib??? protože závislosti.

V porovnání se stejným typem repozitářů v Opensuse a zypper je yum naprosto tragický, místo návrhu variant co s tím 5 minut vypisuje telefonní seznam .so knihoven o na čem závisí, navrhne odstranit systemd a yum, odpoví si sám že jsou protected a nic seělat nebude :-).

To fakt existuje v roce 2018 u RedHat klonů dependency hell?

Depndency hell budes mit vsude, kde definujes spatne dependence.
Doporucuju disablovat postgres repo -> provest update Centosu -> enablovat postgres repo -> updatovat znova.
IMHO maintaineri postgres repa neco zesrali.

qwertz

Re:CentOS dependency hell
« Odpověď #2 kdy: 11. 06. 2018, 20:36:33 »
disablovat postgres repo jsem samozřejmě zkoušel jako první. Vůbec k ničemu to není. I kdyby to byla chyba postgresu, pořád to ukazuje na to, jak hloupý ten YUM vlastně je. Žádnou pomoc typu varianta 1 - ponechat knihovnu nastávající verzi / varianta 2 - vyhodit závislý balíček pryč nenabízí.

Ten SW management je takový pomalý a bezzubý. Řešením beztak bude CentOS vyprat a nahradit něčím, kde se standardně počítá s poněkud aktuálním software.

okl

Re:CentOS dependency hell
« Odpověď #3 kdy: 11. 06. 2018, 21:19:11 »
Keby si radsej poslal chybny vypis z yumu ako tu nariekal....

Re:CentOS dependency hell
« Odpověď #4 kdy: 11. 06. 2018, 22:20:55 »
disablovat postgres repo jsem samozřejmě zkoušel jako první. Vůbec k ničemu to není. I kdyby to byla chyba postgresu, pořád to ukazuje na to, jak hloupý ten YUM vlastně je. Žádnou pomoc typu varianta 1 - ponechat knihovnu nastávající verzi / varianta 2 - vyhodit závislý balíček pryč nenabízí.

RHEL (a tím pádem i CentOS) jsou založené na tom, že nemáte mít žádná externí repo. U RHEL jste v tu ránu bez podpory a instalace ztrácí svoji hodnotu. Je tedy poměrně logické, že žádnou alternativu k tomu nenabízejí.

Pokud potřebujete novější balíky a nejde Vám o podporu (případně klonovanou stabilitu), pak bych raději volil úplně jinou distribuci.


qwertz

Re:CentOS dependency hell
« Odpověď #5 kdy: 11. 06. 2018, 22:32:36 »
CentOS nebyla moje volba, a rozhodně si nemyslím, že to byla volba správná, tohle řešení jsem tak nějak převzal. Alespoň mám možnost to změnit.

andrej

Re:CentOS dependency hell
« Odpověď #6 kdy: 11. 06. 2018, 22:40:05 »
disablovat postgres repo jsem samozřejmě zkoušel jako první. Vůbec k ničemu to není.
yum update --skip-broken

kojot4

  • ***
  • 217
    • Zobrazit profil
    • E-mail
Re:CentOS dependency hell
« Odpověď #7 kdy: 11. 06. 2018, 23:02:52 »
A co to vyřešit dockerem, a nebude žádný problém...

n

Re:CentOS dependency hell
« Odpověď #8 kdy: 12. 06. 2018, 00:19:20 »
CentOS 7 s pridanym oficialnim repository postgresu (to historicky proslo od verze 9.3 az do soucasne 10 s preskocenim 9.4 a 9.6)  mam v provozu uz od roku 2014 bez jedineho problemu, takze mi nezbyva nez si myslet ze nam tak trochu nerikas vsechno pripadne mas teda ale straslivou smulu ze ti zrovna tvuj system takhle osklive zasabotovali...

qwertz

Re:CentOS dependency hell
« Odpověď #9 kdy: 12. 06. 2018, 05:50:33 »
CentOS 7 s pridanym oficialnim repository postgresu (to historicky proslo od verze 9.3 az do soucasne 10 s preskocenim 9.4 a 9.6)  mam v provozu uz od roku 2014 bez jedineho problemu, takze mi nezbyva nez si myslet ze nam tak trochu nerikas vsechno pripadne mas teda ale straslivou smulu ze ti zrovna tvuj system takhle osklive zasabotovali...

Vzhledem k tomu, že ten problém není na produkční mašině, ale v mém osobním testovacím prostředí, které jsem sám instaloval, nikdo jiný k němu nemá přístup, není problém potvrdit, jak to proběhlo. Instalace čistého CentOS, Instalace novějšího Postgres a PG Admin a cca 3 měsíce provozu (včetně updatů). Rozpadlo se to zcela nečekaně "samo". (ten systém je prakticky vanila a nic dalšího tam není)

To není nic proti CentOS, ale ten systém má relativně malé repo a přesto to yum není schopen dát do kozistentního stavu.

Zum

Re:CentOS dependency hell
« Odpověď #10 kdy: 12. 06. 2018, 06:17:14 »
A co to vyřešit dockerem, a nebude žádný problém...

Tak prave postgresql je neco co chces bezet na plny koule a ne to mit brzdeny kontejnerem. Navic z vlastni zkusenosti vim, ze je dokonce vyhodnejsi stahnout srpm a buildnout si to sam. Vykon muze byt lepsi o 20-30% nez repozitarova binarka!

Vilith

  • *****
  • 660
    • Zobrazit profil
Re:CentOS dependency hell
« Odpověď #11 kdy: 12. 06. 2018, 07:17:45 »
Co to reportovat tvurci repa PostgreSQL - CentOS je v tom nevine, ten je konzerva

Vilith

  • *****
  • 660
    • Zobrazit profil
Re:CentOS dependency hell
« Odpověď #12 kdy: 12. 06. 2018, 08:05:11 »
srpms jsou snad v poradku - zkus to prelozit na serveru

Re:CentOS dependency hell
« Odpověď #13 kdy: 12. 06. 2018, 08:16:58 »
RHEL (a tím pádem i CentOS) jsou založené na tom, že nemáte mít žádná externí repo. U RHEL jste v tu ránu bez podpory a instalace ztrácí svoji hodnotu. Je tedy poměrně logické, že žádnou alternativu k tomu nenabízejí.

Ehm, to není pravda.

K dotazu, tohle je problém postgreSQL a stejný problém jsou schopní udělat v každé distribuci. Yum a ani jiný balíčkovací systém moc neví o kontextu a pokud má balíček neplatnou závislost, moc s tím neudělá.

Kdyby jsi poslal chybovou hlášku a jen blbě nehejtoval, dá se to vyřešit snadno, takhle aby člověk používal věšteckou kouli :), zkus třeba

Kód: [Vybrat]
yum update --exclude=gdal

MarSik

Re:CentOS dependency hell
« Odpověď #14 kdy: 12. 06. 2018, 09:24:56 »
Já hlavně nechápu proč nepoužil SCL, když už tam má CentOS. V těch je zabalený oficiálně podporovaný Postgres i v o dost aktuálnějších verzích.

https://www.softwarecollections.org/en/scls/user/rhscl/?search=postgres&policy=&repo=&order_by=-create_date&per_page=10