Portál AbcLinuxu, 14. května 2025 00:50

Dotaz: Udržování závislostí v balíčkovacím systému Debianu

29.12.2016 22:16 mica
Udržování závislostí v balíčkovacím systému Debianu
Přečteno: 535×
Odpovědět | Admin
Mám dotaz, zda se při při běžném pohybu balíků v Debianu, to znamená ruční odinstalaci, aktualizaci a zejména, když systém oznámí, že v rámci aktualizace určitých balíků jiné odinstaluje nebo po odinstalování určitých jiné označí za už nepotřebné (a ty já pak odinstaluju), může stát, že se odinstalují balíky, na nichž závisí jiné, které v systému zůstanou. Jinými slovy, zda může nastat stav, že některé nainstalované balíky po určitých odinstalacích najednou nemají nainstalované potřebné závislosti.
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

29.12.2016 22:51 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Stav bez závislostí by nastat neměl, pokud v nějaké fázi neodsouhlasíte, že závislosti chcete porušit. Nicméně může nastat situaci, kdy po oddinstalaci něcoho co vypadá jako běžný program, se oddinstaluje skoro celé grafické prostředí, protože tvůrci distribuce na tento program navázali závislosti něčeho pro grafické prostředí podstatného. Strom závislostí si tvůrci distribuce definují sami.
30.12.2016 09:19 mica
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
To znamená, že nainstalovaným aplikacím může po nějakých odinstalacích chybět nějaký balík potřebný pro jejich (plnou) funkčnost, i když balíčkovací systém nehlásí žádné porušení závislostí?
Pavel 'TIGER' Růžička avatar 30.12.2016 09:50 Pavel 'TIGER' Růžička | skóre: 54
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
Ne, tento stav by teoreticky nastat neměl. Pokud balíček je požadován pro více aplikací, pak by Ti jej po odinstalování aplikace neměl balíčkovací systém nabízet k odinstalaci. Ovšem praxe je jiná. Ono totiž záleží i na hiearchii balíčků. Když třeba odebereš xorg, tak Ti to vezme sebou všechno, co je nad tím. To znamená login manager, desktop, gui aplikace atp. Takže stačí špatně sestavený balíček, či přímo repositář a může se stát, že po odinstalaci ti odebere i jiný balíček, na kterém je závislá jiná aplikace, avšak systém začne hlásit porušení závislostí. Jsou i situace, kdy dojde k nekonzistenci databáze (vinou uživatele) a pak je celý systém v ... nekonzistentním stavu. Což se dává poměrně špatně dohromady a mnohdy je rychlejší reinstalace s přenesením dat a konfihurace.
30.12.2016 15:43 mica
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
Ještě jednu otázku: pokud systém v nekonzistentním stavu není a nehlásí žádné poškození závislostí, můžu si být jistý, že jsou nainstalovány i všechny závislosti závislostí? (Jinými slovy, nemůže se stát, že když balík A vyžaduje balík B a balík B vyžaduje balík C a balík C vyžaduje balík D, nějak by došlo k odinstalování balíku D, ale balíky A,B,C zůstaly nainstalovány a balík A kvůli tomu vykazoval úplnou nebo částečnou nefunkčnost?)
Pavel 'TIGER' Růžička avatar 30.12.2016 16:13 Pavel 'TIGER' Růžička | skóre: 54
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
Ne, nemůžeš si být jist, největší jistotu máš jen tehdy, pokud používáš oficiální zdroje a instaluješ a odebíráš pouze z nich. Ale ani tam není 100% jistota. Jelikož balíčkovací systém má i pokročilé funkce pomocí kterých lze dosáhnout přesně takového výsledku. Někdy je totiž takový výsledek žádoucí.
30.12.2016 17:14 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
Ak by si chcel korektnou cestou odinštalovať balík D na ktorom závisí balík C (B a A), tak Ti to ponúkne odinštalovať s balíkom D aj balíky C, B a A. Je ovšem možné aj odinštalovať balík D s tým že sa zachovajú aj balíky C, B a A. To ale vyžaduje skúsenejšieho užívateľa u ktorého je predpoklad že vie čo robí a aké parametre na to (ne)má použiť.

Takže: pri bežnej práci s správcom balíčkov v rámci podporovaných a udržiavaných repozitárov nemá ako dôjsť k spomenutej nekonzistencii.
3.1.2017 17:24 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Stát se to může, protože závislosti u balíků se nenastavují automaticky, ale záleží jestli je uvedou jejich Maintaineři a tak nelze vyloučit, že někdo nějakou klíčovou komponentu opomene uvést. Ale musím říct že se mi to už velmi dlouho nestalo.

Spíš se může stát, že někdo uvede závislost na verzi balíku, co může být z repozitáře který není běžně k dispozici. Pak ti nepůjde žádaný balík kvůli chybě v závislostech nainstalovat. Ale všechno se dá řešit. Podstatné je pouze vědět jak ;-)
6.1.2017 09:55 michal
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
... nelze vyloučit, že někdo nějakou klíčovou komponentu opomene uvést. Ale musím říct že se mi to už velmi dlouho nestalo.

Ojojojoj.

Mnozí autoři neuvádějí závislosti vůbec. Často taky uvedou jen část závislostí. Takže něco nainstalujete, chybová hlášení žádná, ale nejede to.

V lepším případě pak najdete seznam potřebných závislostí na stránkách autora aplikace. V horším případě vás čeká otravná práce se zjišťováním, co všechno aplikace vlastně potřebuje.

A mluvím tu i o poměrně známých a aplikacích, které klidně leží v oficiálních repozitářích distribucí.
6.1.2017 10:30 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
Na openSUSE se mi tohle nestalo cca 8 let a v poslední době na Archu také ne. Ale špatně udržované distribuce jistě být mohou.
6.1.2017 12:30 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
Skús uviesť jediný príklad zo súčasnosti ktorý poukazuje na takúto chybu pri použití balíčkovacieho systému pre BFU. Spomienky pre pamätníkov ohľadne Slackware z minulého tisícročia nemusíš vyťahovať, tie už nikoho nezaujímajú.
Josef Kufner avatar 6.1.2017 12:48 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
Několikrát jsem se s tím setkal v Debianu. Balíčku prostě chybělo pár závislostí, které bývají obvykle nainstalované, ale já je zrovna neměl. Netýká se to obvykle knihoven – ty lze snadno hlídat automaticky. Většinou šlo o externí nástroje nebo knihovny u nekompilovaných jazyků.
Hello world ! Segmentation fault (core dumped)
6.1.2017 13:08 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
Skús uviesť ten príklad.
Josef Kufner avatar 6.1.2017 13:40 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
Hello world ! Segmentation fault (core dumped)
6.1.2017 14:47 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
A ktoré z toho je aspoň jeden aktuálny na ktorý som sa pýtal?
6.1.2017 14:53 Kate | skóre: 9
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
Možná že to nevidíš, ale i pokud jsi líný rozklikávat jednotlivé bugreporty, google u výsledků hledání píše datum. Hned jeden z prvních které mi to vypsalo je z listopadu 2016. Jestli to pro tebe není aktuální, tak nevím :)
6.1.2017 15:41 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
V prvom rade to mám prekryté žiadosťou o spravovanie mojich osobných údajov za účelom ich odovzdania tretím stranám bez môjho vedomia. To je jeden z dôvodov prečo sa pýtam.
k3dAR avatar 7.1.2017 00:18 k3dAR | skóre: 63
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
z praxe s *buntu sem se s tim nesetkal za poslednich 10let... takze me by take opravdu zajimaj JEDINEJ priklad z praxe kterej myslel "6.1.2017 09:55 michal" kdyz psal jasne "Mnozí autoři neuvádějí závislosti vůbec. Často taky uvedou jen část závislostí. Takže něco nainstalujete, chybová hlášení žádná, ale nejede to." ;)
porad nemam telo, ale uz mam hlavu... nobody
6.1.2017 16:13 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
Zkusil jsem si první stránku, ale připadá mi, že nic z uvedených bugů se netýká Debian stable. (to že v unstable, nebo testing se podobná nekoherence může najít je přirozené - a proto je to také unstable a případně testing.)
Josef Kufner avatar 4.1.2017 22:06 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dokud nepoužiješ dpkg --force-něco (nebo nenarazíš na nějakou obzvlášť ošklivou chybu), tak se ti závislosti nepolámou a takovou operaci ti to nedovolí vůbec udělat.
Hello world ! Segmentation fault (core dumped)
5.1.2017 08:21 No
Rozbalit Rozbalit vše Re: Udržování závislostí v balíčkovacím systému Debianu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mám čerstvý Debian Stretch. Na něm instalovaný mariadb-server a mariadb-client. Teď mi to při apt update && apt dist-upgrade nabízí instalaci nové verze mariadb-client a ODinstalaci mariadb-server. Dále jsem to zatím ještě nezkoumal.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.