Portál AbcLinuxu, 28. dubna 2024 14:22
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ů.
Máme za úkol někomu rychle a jednoduše vysvětlit, jak si na tom svém "Linuxu" nainstaluje jabber klienta psi.
aptitude install psi
yum install psi
urpmi psi
yast --install 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).
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 yum
y, apt-get
y, 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.
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.
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ů.
Jak je vidět, tak Smart přebírá konvence pojmenování kategorií z jednotlivých distribucí.
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ší.
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 smart
u. Je nutné poznamenat, že si v tomto případě nemá konzolová verze s grafickou co vyčítat.
Instalaci je možné provést z kontextového menu (vynecháme-li konzolovou možnost smart install psi
).
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.
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í.
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.
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ů).
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ě.
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.
Další vlastnosti už spíše letecky.
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.
Ovšem Smart toho nabízí více:
Více toho je na na stránce labix.org/smart/features.
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.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.