Portál AbcLinuxu, 28. dubna 2024 14:22

Smart Package Manager - instalujeme chytře

21. 2. 2007 | Michal Vyskočil
Články - Smart Package Manager - instalujeme chytře  

Každý, kdo se kolem Linuxu točí, ví, že existují stovky, možná i tisíce distribucí. Arch, Debian, Gentoo, Fedora, Mandriva, SUSE, Slackware, Ubuntu, ... Každá má zapřísáhlé fanoušky i zapřísáhlé odpůrce. Mezi sebou se liší několika věcmi, ale asi nejvíce právě způsoby instalace softwaru a formáty balíčků.

Prolog

Máme za úkol někomu rychle a jednoduše vysvětlit, jak si na tom svém "Linuxu" nainstaluje jabber klienta psi.

Prakticky každá distribuce má vlastní balíčkovací systém a příkazy, které zařídí instalaci softwaru. Ovšem každý z nich dělá prakticky to samé, takže při podrobnějším pohledu zjistíte, že se yum od urpmi liší pouze v nepodstatných detailech (jako že jeden je v Pythonu a druhý v Perlu).

Smart package manager

Za vznikem a současným vývojem stojí společnosti Connectiva a Canonical (Ubuntu), ale Smart není určen pouze pro distribuce založené na Debianu. Naopak, mezi přispěvateli nalezneme osoby jako Seth Vidal (autor yumu), nebo Michael Vogt (autor Synapticu). Správce balíčků Smart, který vznikl na základě zkušeností s projektem apt-rpm, si stanovil na první pohled nesplnitelný cíl. Poslat všechny ty yumy, apt-gety, nebo urpmi do důchodu a alespoň malinko sjednotit ten dnešní linuxový instalační guláš. Jeho domovská stránka labix.org/smart nabízí odkazy na balíčky (sebe sama) pro mnoho distribucí. Část z nich (SUSE, Debian, Mandriva nebo Ubuntu) už Smart nabízejí ve svých repositářích.

Protože se jedná o nástroj určený pro více distribucí, udělal jsem test na Ubuntu Feisty Fawn a, jelikož nejvíce ohlasů na Smart jsem měl od uživatelů OpenSUSE, také na OpenSUSE 10.2. Obě distribuce běžely ve VMware, přičemž SUSE mělo tu výhodu, že to byl přímo nakonfigurovaný obraz z mono-project.com.

Je poněkud zvláštní, že přestože vývoj Smartu sponzoruje Canonical, tak v Ubuntu zatím jako výchozí není, stejně jako v distribuci Mandriva (která odkoupila původního autora, společnost Connectiva). Paradoxně největším současným uživatelem tohoto balíčkovacího systému jsou (alespoň jak vyplývá z četnosti materiálů na webu) uživatelé distribuce SUSE. Na suseportal.cz/smart o něm nalezneme velice pochvalný článek.

Používáme

V příkazové řádce stačí napsat smart a program vypíše seznam možných parametrů. Pokud máte raději grafické rozhraní, napište smart --gui. Bohužel se aplikace neinspirovala třeba u Aptitude, který je možné spustit bez rootovských práv a získat je až v okamžiku, kdy se rozhodneme zasáhnout do systému. Vzniká tak nekonzistence v tom, že nástroj v konzolové verzi určité funkce umožňuje i bez práv roota, ale v grafické verzi ne. Na druhou stranu jí trpí snad každý grafických správce balíčků, který jsem kdy viděl.

Smart Package Manager: grafická nadstavba systému smart v Kubuntu
Smart Package Manager: grafická nadstavba systému smart v Suse

V SUSE se při prvním spuštění navíc ptá na to, zda se má daný repositář zahrnout do seznamu kanálů.

Smart Package Manager: grafická nadstavba systému smart v Suse

Jak je vidět, tak Smart přebírá konvence pojmenování kategorií z jednotlivých distribucí.

Hledání

Pokud se srovná základní operace hledání s výchozím Adeptem z Ubuntu, působí Smart pro začátečníka trochu těžkopádně. Například výsledky hledání balíčků ve Smartu sice přesně odpovídají tomu, co získáme příkazem smart search psi nebo aptitude search psi, ale přístup Adeptu mi přijde pro méně zkušené uživatele vhodnější.

Smart Package Manager: Hledání balíčku psi ve smartu Smart Package Manager: Hledání balíčku psi v adeptu

Ovšem co je ještě horší, je nepodpora regulárních výrazů. I nezkušeného uživatele je možné naučit psát místo psi ^psi$ pro omezení výpisů, ne tak ve smartu. Je nutné poznamenat, že si v tomto případě nemá konzolová verze s grafickou co vyčítat.

Instalace

Instalaci je možné provést z kontextového menu (vynecháme-li konzolovou možnost smart install psi).

Smart Package Manager: Kontextové menu balíčku

Potom se nám sice zobrazí dialog pro potvrzení závislostí, ale jinak je to vše. Snad jenom pozornější uživatel si všimne, že se mu změnila ikona u psi.

Smart Package Manager: Kontextové menu balíčku

A teprve po stisknutí tlačítka v levém horním rohu (Apply marked changes) dojde k zobrazení podobného okna se zobrazením všech provedených jmen a ke stahování.

Smart Package Manager: Kontextové menu balíčku

A instalaci (nesmíte ovšem zapomenout vypnout cokoliv, co si zamkne databázi dpkg - třeba Adept - jinak místo povedené instalace dostanete tuto chybovou hlášku). Nepříjemné je, že se balíčky neuloží, takže je nutné je stahovat znovu.

Smart Package Manager: Dpkg nespolupracuje se smartem

Při spuštění smart --gui z konzole se v ní zobrazuje postup instalace, takže je možné se na první pohled přesvědčit, že smart využívá pouze služeb dpkg (respektive rpm). Bohužel mě trochu zarazily volby --force-depends (všechny potíže se závislostmi přepne na varování) a --force-remove-essential (povolí odstranění nezbytných balíčků).

Odstranění balíčku

A zde přichází velká bolest Smartu, která je zmíněna i na výše uvedené wiki Ubuntu. Neumí reverzní závislosti, což je pro člověka navyklého na aptitude velká chyba. Takže, pokud chceme psi zase odinstalovat, zůstane nám v systému knihovna libqca1c2, pokud si ji neodinstalujeme ručně.

Upgrade systému

Protože test probíhal na alfa verzi Ubuntu, nechtělo se mi stahovat celých přibližně 416MB balíčků, takže jsem jen porovnal výstupy z obou aplikací. Jak Adept, tak Smart nabídly stejné počty a velikosti balíčků, takže tato vlastnost pracuje na jedničku.

Smart Package Manager: Informace o počtech balíčků nutných pro upgrade sedí

Další vlastnosti

Další vlastnosti už spíše letecky.

Kanály (channels)

Kanál je v terminologii Smartu způsob, jak získávat informace z repozitáře. Jejich počet je úctyhodný (apt-deb, apt-rpm, databáze programu dpkg, rpm metadata (yum), urpmi formát a podobně). Pokud chceme získat seznam aktuálních balíčků, je nutné provést update.

Smart Package Manager: Probíhá update kanálů

Ovšem Smart toho nabízí více:

Více toho je na na stránce labix.org/smart/features.

Smart Package Manager: Vlastnosti kanálu

Závěr

Smart je bezpochyby velice zajímavý počin. A protože za ním stojí kvalitní lidé, je docela pravděpodobné, že se postupem času stane nejpoužívanějším nástrojem pro instalaci softwaru v Linuxu. Na první pohled je vidět, že vývoj začal na debianních systémech, čemuž odpovídá i použitá terminologie (update je stažení aktuálního seznamu balíčků, upgrade je instalace novějších verzí, ale volba dist-upgrade v něm obsažena není). Stejně tak ovládání grafické verze připomíná nástroje z Debianu (Aptitude nebo Synaptic).

Z hlediska debianních systémů toho Smart příliš nového nenabízí. Na druhou stranu zase má vlastnosti, které například Aptitude chybí. Kritickou vlastností je ovšem chybějící správa reverzních závislostí.

Do distribuce SUSE přináší jednoduše použitelný konzolový správce softwaru ve stylu Debianu, protože spuštění nativního správce balíčků Yast trvá (alespoň pro mě) neskutečně dlouhou dobu a to jak v grafické, tak v textové verzi. Takže pomocí smartu můžeme i v SUSE instalovat balíčky pomocí smart install software a nemusíte čekat několik desítek sekund na to, než se zpracují metainformace nativního nástroje. Navíc mi použítá verze pro SUSE (z Guru's RPM repository) přišla daleko lépe integrovaná do systému než ta pro Ubuntu.

Pro distribuci Mandriva je také Smart dostupný. Dokonce je možné si nechat vygenerovat zdroje pro Smart na stránce easyurpmi.zarb.org/?language=cz.

Související články

Na co se často ptáme: Balíčkovací systémy
Seriál: Instalace softwaru v Linuxu
Seriál: Gentoo ebuild
Seriál: Rukověť baliče RPM
Seriál: Balíčkovací systém Arch Linuxu
Zdroje balíčkov pre Ubuntu
Balíčkovací systém Mandrake Linuxu
Balíčkovací systém Gentoo Linuxu - I
Balíčkovací systém Gentoo Linuxu - II

Odkazy a zdroje

labix.org/smart

Další články z této rubriky

Týden na ITBiz: Svět IT a burzy, umělá inteligence, Nvidia a outsourcing
Linuxové foto novinky: pozvolná evoluce
PCLinuxOS 2017.2 MATE - tak trochu zvláštní linuxová distribuce
Krátký pohled na Fedoru 25, Wayland a GNOME 3.22
Naprosto ničím nezajímavé Lubuntu 16.10

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