Linux E X P R E S

Facebook

Linuxové balíčkovací systémy 2

Co jsou to balíčkovací systémy? K čemu slouží a jaký je jejich přínos? V článku se Tomáš Klos zaměřil na nejznámější z nich, dnes konkrétně v distribucích Debian GNU/Linux a Mandriva Linux.


Debian (a odvozené distribuce)

Jak již bylo řečeno, Debian má skvělý nástroj APT (Advanced Package Manager). Obsahuje sadu nástrojů pro práci s DEB balíčky. Nejpoužívanějšími příkazy jsou rozhodně apt-get a apt-cache.

apt-get slouží k instalaci a odinstalaci balíčků a k aktualizaci systému. Podívejme se na nejpoužívanější příkazy:

apt-get install název_balíčku nainstaluje balíček
apt-get remove název_balíčku odinstaluje balíček
apt-get update provede aktualizaci zdrojů softwaru
apt-get upgrade stáhne a nainstaluje aktualizované balíčky
apt-get dist-upgrade používá se při upgrade celé distribuce

apt-cache je nástroj pro práci s databází informací o balíčcích. Jeho hlavní devízou je schopnost používat regulární výrazy. Toto jsou nejčastější příkazy:

apt-cache search text vyhledá balíčky, jejichž popis obsahuje text
apt-cache regulární_výraz vyhledá balíčky, jejichž popis odpovídá reg. výrazu
apt-cache show název_balíčku zobrazí informace o balíčku

Aby ale bylo možné cokoliv pomocí apt nainstalovat, je třeba nejprve přidat zdroje softwaru do konfiguračního souboru /etc/apt/sources.list. Zdroj pro Debian Sarge, umístěný na FTP serveru, vypadá takto:

deb ftp://ftp.cz.debian.org/debian/ stable main contrib non-free

Pokud chcete přidat i zdroj se zdrojovými balíčky, bude zápis vypadat následovně:

deb-src ftp://ftp.cz.debian.org/debian/ stable main contrib

Co znamenají jednotlivé položky? deb nebo deb-src určuje, zda se jedná o předkompilované, nebo zdrojové balíčky. Dále následuje adresa s umístěním, možné varianty jsou ftp, http, file, cdrom a ssh nebo rsh. Po adrese následuje označení verze – v našem příkladu sarge, možné je ale i použití názvů stable, testing a unstable. Řádek uzavírá mezerou oddělený seznam adresářů s balíčky (main obsahuje samotnou distribuci, contrib je rozsáhlý archiv dalšího softwaru a non-free je archiv ne-open-source softwaru).

Jakmile upravíte konfigurační soubor, je třeba spustit:

# apt-get update

Tím se aktualizuje databáze zdroje. Nyní je možné pomocí příkazu apt-get install začít instalovat balíčky. Postupem času vznikl program aptitude, který je zdokonalením původního apt a shrnuje pod jediný příkaz všechny funkce apt-get a apt-cache, navíc přidává funkce nové a vylepšuje ty původní. Více o aptitude se dozvíte z jeho manuálových stránek nebo na adrese people.debian.org/~dburrows/aptitude-doc/cs/rn01re01.html.

Možná teď litujete, že vaše distribuce je založena na RPM a vy nemůžete využívat výhody apt. Nepropadejte panice. Jak už je v linuxovém světě zvykem, našli se programátoři, které napadlo upravit apt tak, aby uměl pracovat i s RPM balíky. Vznikl tak program Apt4Rpm, který podobné kousky umožňuje. Konfigurační soubor /etc/apt/sources.list vypadá obdobně jako v Debianu, jen deb na začátku řádku je třeba nahradit rpm.. Více se dozvíte na adrese apt4rpm.sourceforge.net.

Grafické rozhraní pro správu DEB balíčků

Nejznámějším grafickým rozhraním pro práci s DEB balíčky je program Synaptic, určený primárně pro Gnome, je však bez potíží provozovatelný všude tam, kde je nainstalována knihovna GTK2. Program je kvalitně lokalizován do češtiny a jeho používání je natolik přímočaré a snadno pochopitelné, že není třeba se o něm podrobněji rozepisovat. Totéž platí o programu Kpackage, což je univerzální nástroj ovládající práci s RPM, DEB, tgz, ebuild a installer balíčky. Ten je určen, jak z písmene K na začátku názvu vyplývá, pro prostředí KDE.

Mandriva Linux a urpmi

Prosím všechny uživatele jiných RPM distribucí, než je Mandriva Linux, aby mě na tomto místě nezačali kamenovat a zasypávat jedovatými nadávkami. Proč jsem zvolil Mandriva Linux a ne třeba Fedora Core či SUSE? Důvody jsou tři:

  1. Mandriva je rozhodně nejrozšířenější RPM distribucí.
  2. Program urpmi dobře znám.
  3. Ostatní nástavby nad RPM naopak neznám vůbec, a tudíž o nich nemůžu s čistým svědomím psát.

urpmi plní v Mandriva Linuxu stejnou funkci jako apt v Debianu. Instaluje, odinstalovává a řeší závislosti mezi balíčky. Po několikaletém intenzivním používání můžu zodpovědně říct, že to dělá velmi dobře. Jen je oproti apt poněkud pomalejší – práce s databází mu trvá podstatně déle. Jinak mu ale nemůžu téměř nic vytknout, snad jen možnosti vyhledávání balíčků by mohly být větší.

Systém se skládá z několika částí: urpmi slouží k instalaci, urpme k odinstalaci, urpmq k dotazům na databázi balíčků a urpmf k vyhledávání balíčků. Samozřejmě rovněž potřebujeme konfigurační soubor s definovanými zdroji softwaru. Tím je /etc/urpmi/urpmi.cfg. Je samozřejmě možné upravovat jej pomocí textového editoru, jelikož ale syntaxe není zdaleka tak přímočará jako u apt, je lepší použít ke konfiguraci nástroje urpmi.addmedia a urpmi.removemedia. Ty, jak je patrné z názvů, slouží k přidávání a odebírání zdrojů softwaru. Zdroj se základními balíčky distribuce přidáme příkazem (vše na jednom řádku bez \\):

# urpmi.addmedia main ftp://mandriva.contactel.cz/Mandrivalinux/official/2006.0/i586/media/main with media_info/hdlist.cz

main je název zdroje, můžete jej nahradit libovolným názvem. Dále následuje adresa s umístěním zdroje, možné způsoby přístupu jsou ftp, http, ssh, rsync a file pro lokálně umístěný zdroj. Po parametru with následuje umístění databáze balíčků, která se jmenuje hdlist.cz, zadáno relativně k absolutní adrese zdroje. Pokud příkaz doplníte o parametr --update, bude zdroj označen jako aktualizační a bude používán při aktualizaci systému.

urpmi název_balíčku nainstaluje balíček
urpme název_balíčku odinstaluje balíček
urpmi.addmedia název adresa with hdlist přidá zdroj softwaru
urpmi.removemedia název odebere zdroj main
urpmi.update název aktualizuje zdroj softwaru
urpmi.update -a aktualizuje všechny zdroje
urpmi --update --auto –auto-select stáhne a nainstaluje aktualizační balíčky

Parametr --force způsobí, že se balíček nainstaluje i v případě problémů. Používejte jej proto velmi opatrně. Pomocí --allow-nodeps sdělíte urpmi, že nemusí brát ohled na neuspokojené závislosti, což může být velmi nebezpečné, proto používejte jen tehdy, pokud víte jistě, co děláte.

Grafické rozhraní

Mandriva Linux obsahuje vlastní grafickou nástavbu nad urpmi nazvanou rpmdrake. Program se skládá z několika součástí – samostatné části pro přidávání balíčků, odebírání balíčků, konfiguraci zdrojů softwaru a update systému. Vše je plně lokalizováno do češtiny a ovládání je velice intuitivní. Rovněž je možné použít univerzální nástroj Kpackage, zmíněný výše.

Potřebuji DEB balíček, ale našel jsem jen RPM, co mám dělat?

I když to není moc pravděpodobné, může se stát, že nenaleznete balíček v nativním formátu vaší distribuce. Pokud se vám podaří najít DEB (a vy potřebujete RPM, nebo naopak), není nic ztraceno. Existuje totiž šikovný prográmek s příznačným názvem alien. Ten neslouží k ničemu jinému, než ke konverzi balíčků z DEB na RPM nebo naopak z RPM na DEB. Použití je velmi jednoduché a i když ne vždy lze konvertovaný balíček úspěšně použít, protože systém, pro který byl původně určen, byl příliš odlišný od toho vašeho, určitě si své místo na slunci najde.

Diskuze (1) Nahoru