Hlavní navigace

Další triky kolem RPM

Leoš Literák 7. 3. 2001

Minulé číslo "triků" se točilo okolo základních vlastností RPM. Dnes přejdeme k poněkud pokročilejším vlastnostem, které můžete potřebovat a podíváme se i na jiné nástroje pro správu balíčků.

Posledně jsem se podíval na základní vlastnosti RPM. Dnes přejdeme k poněkud pokročilejším vlastnostem, které můžete potřebovat a podíváme se i na jiné nástroje pro správu balíčků.

Ale nejdříve opět vyzvu Debianisty, ať napíší nějaký článek o správě balíčků pod jejich oblíbenou verzí Linuxu. Podle vyprávění Šneka má tato distribuce opravdu promyšlenou filozofii.

Jak už bylo zmíněno v diskusi k minulému článku, občas se přihodí, že instalace (upgrade) balíčku selže kvůli neuspokojeným závislostem (unsatisfied dependancies). Co můžeme v takové situaci udělat? Postup se pokusím vysvětlit na instalaci KDE 2.1, které je mimochodem opravdu skvělé. Stáhnete si nejdříve 60 MB dat :-( a přihlasíte se jako root. Začnete s prvním balíčkem. Ten vám vypíše hromadu chybných závislostí. Vyberete si první závislost a snažíte se ji splnit. A tak začnete instalovat požadovaný balíček. Ten však vyžaduje nějaký jiný balíček. Než najdete ten balíček, který se má instalovat jako úplně první, uběhne pět minut a vaše nervy začnou být poněkud povážlivě napnuty. A přitom úplně zbytečně. Pokud stáhnete program dodávaný ve více balíčcích, nejjednodušší je instalovat je všechny najednou: rpm -i *.rpm. Příkaz rpm si sestaví tabulku všech poskytovaných a požadovaných závislostí a nainstaluje si balíčky ve správném pořadí.

Jenže já mám minulou verzi KDE a rpm -U *rpm nepomohlo. Objevily se mi tu hlášení, že soubor /usr/share/doc/HTML/en/kppp/common z balíčku kdenetwork-2.1-0.6x.2 je v konfliktu se souborem z balíčku kdenetwork-ppp-2.0.1-1. Co to znamená? Že nainstalovaný balíček kdenetwork-ppp ve verzi 2.0.1 a právě instalovaný balíček kdenetwork obsahují soubor se stejným názvem. Problémem je, že balíčky se jmenují jinak, proto musíte tuto situaci vyřešit sami.

Jednou z možností je odinstalovat starší balíček pomocí rpm -e. Pak už nás tato chyba nebude otravovat. Jenže někdy to tak snadno nepůjde. Zvláště pokud ten starší balíček je nějaká knihovna, na které závisí spousta dalších aplikací. Pokud jste si jisti, že tento konflikt je chybou autora balíčku, která neovlivní chod systému (dokumentace, soubor je v jiném balíčku), můžete použít volbu --replacefiles: rpm -U --replacefiles *rpm.

Konflikty jsme již vyřešili, ale máme tu jiný problém: nahráním nové verze přestanou platit nějaké závislosti. Například v původní verzi jsme nainstalovali i devel balíčky, kdežto dneska jsme je nestahovali. A devel balíčky občas vyžadují přesnou verzi. Například kdelibs-devel-2.0.1  vyžaduje kdelibs-2.0.1, které chcete upgradovat na kdelibs-2.1. Co teď? Opět se můžete rozhodnout odinstalovat balíčky, které dělají problém, v tomto případě kdelibs-devel-2.0.1. Jenže pak nebudete moci kompilovat prográmky pro KDE ze zdrojových kódů.

Já si tipnu, že starší verze vývojových knihoven budou fungovat i s novějšími základními knihovnami, a tak to risknu a chci mít nové KDE a starší devel balíky. V takovém případě se mi bude hodit volba –nodeps, která vypne kontrolu závislostí. Takže aktuální příkaz vypadá takto: rpm -U --replacefiles --nodeps *rpm. Tímto způsobem se zároveň vyřešila i poslední potíž – chybějící knihovna LDAP. Pokud totiž balíček vyžaduje jiný balíček a vy si myslíte, že zbytečně nebo tuto vlastnost nebudete používat (k čemu knihovnu libungif, když ze zásady používáte PNG?), zkuste do příkazu přidat –nodeps.

K příkazu rpm mám už jen poslední trik: pokud chcete zjistit, do kterého balíčku patří některý soubor na disku, použijte rpm -qf. Například rpm -qf /etc/inputrc zjistí, že tento soubor je součástí balíčku setup-2.1.8-1. Více informací najdete v manuálové stránce příkazu rpm nebo v článcích Michala Krause Správa balíčků s RPM, část první a Správa balíčků s RPM, část druhá.

U textového režimu dneska zůstaneme. Ne každý preferuje používání příkazové řádky. Mnohdy se podstatně lépe pracuje s interaktivně ovládaným programem. Zvláště pokud umožňuje přehledně zobrazovat instalované balíčky a procházet jednotlivými kategoriemi. Přesně toto umožňuje Purp. Jeho autor, Anders Karlsson, se nechal inspirovat rozhraním Midnight Commanderu a vytvořil program pro textovou konzoli na správu balíčků.

Purp

Purp umožňuje velice snadnou navigaci instalovanými balíčky, které se vám zobrazí v jednom panelu. Druhý panel obsahuje nenainstalované balíčky z aktuálního adresáře. Pomocí klávesových zkratek můžete snadno získat popis libovolného balíčku a seznam jeho souborů. Dále můžete balíčky instalovat, upgradovat či mazat. K dispozici je i (nepříliš propracované) vyhledávání.

Přestože je Purp velmi light-weight, obsahuje vše, co obvykle potřebujete. A díky tomu, že jej můžete spustit i v textového režimu, hodí se i na správu serverů, které nemají nainstalované grafické prostředí. A nebo pro vzdálenou správu přes ssh.

To be continued…

Našli jste v článku chybu?

12. 3. 2001 9:30

Leos Literak (neregistrovaný)

ano. nejdrive jsem pouzil rpm z update pro rh6.2 a pak uz to slo samo

9. 3. 2001 12:39

BoB Blade (neregistrovaný)

Podarilo se nekomu na RH 6.x uspesne upgradnout na novy RPM? Tj. hlavne, aby se zachovala databaze. Dik.

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Lupa.cz: E-shopy: jen sleva už nestačí

E-shopy: jen sleva už nestačí

Vitalia.cz: Jak koupit Mikuláše a nenaletět

Jak koupit Mikuláše a nenaletět

DigiZone.cz: Další dva kanály nabídnou HbbTV

Další dva kanály nabídnou HbbTV

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Podnikatel.cz: Prodává přes internet. Kdy platí zdravotko?

Prodává přes internet. Kdy platí zdravotko?

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

DigiZone.cz: Sony KD-55XD8005 s Android 6.0

Sony KD-55XD8005 s Android 6.0

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel