Hlavní navigace

Instalace programů v linuxových distribucích

20. 7. 2008
Doba čtení: 5 minut

Sdílet

Když se jednou utvrdíte v tom, že funkce vašeho operačního systému vám nepostačují, začnete hledat způsob, jak do systému dostat nový program. Způsobů je několik. Od toho nejméně přívětivého přes ten ideální až po ty, které jsou velmi jednoduché, ale nejsou tolik univerzální jako ostatní.

Mluvíme-li o instalaci programů v Linuxu, patrně narazíte na jeden rozšířený mýtus, který říká, že programy se musejí v Linuxu kompilovat. Je to velmi nepřívětivé a pro začátečníka těžko překousnutelné. V souvislosti s tím se mluví o tzv. „svaté trojici“ (configure, make, make instal). Jedná se o trojici příkazů, kterými se daný program z podoby zdrojového kódu převedl do podoby spustitelné. Musí se spustit konzolový program, na něm vyťukat nějaké příkazy a pak se dívat, co po mně program chce. Před takovými dvaceti lety to bylo naprosto běžné, dnes se to používá ve výjimečných případech, případně jej využívají linuxoví fandové. Běžný uživatel opravdu nemá důvod.

Proč se tento postup používá a proč ne? Obrovskou výhodou je fakt, že program, který takto vznikne, je „přiohnut“ tak, aby na daném počítači běžel co nejlépe. Při kompilaci se totiž bere v potaz, na jakém počítači program poběží, některé parametry se přizpůsobí a provede se optimalizace. Nevýhodou je již zmiňovaný diskomfort a uživatelská nepřívětivost. Hlavním strašákem jsou však tzv. závislosti. Pod pojmem závislost rozumíme vztah několika programů mezi sebou, které musí být v systému nainstalovány zároveň, aby mohl jeden z nich běžet. Představte si to tak, že aby mohlo auto jet, musí v něm být benzín. Auto jinak vypadá perfektně, ale bez benzínu prostě nepojede (samozřejmě, pokud to není auto s dieselovým motorem nebo jiným alternativním pohonem).

Proto již několik let existují programy, které nazýváme balíčkovací systémy. Jsou to speciální programy, které výrazně zjednodušují instalaci programů, jejich konfiguraci a odinstalaci v jednotlivých linuxových distribucích. Funguje to tak, že někdo (většinou vývojáři distribuce) připraví speciální balíček, který obsahuje vlastní program a informaci o tom, které další balíčky potřebuje ke svému chodu. Idea je to perfektní a dotažená až ke konečné realizaci. Ve vašem počítači je pak vytvořena databáze, kde je informace o verzích programů a nainstalovaných balíčcích. Když se instaluje nový program, nejdříve se projde databáze a kontroluje se, co je k dispozici.

To, co je pomyslnou skvrnou na kráse, je fakt, že balíčkovacích systémů existuje několik a žádný univerzální (celosvětově rozšířený). V zásadě platí jednoduchá poučka, že jednotlivé distribuce nemohou sdílet stejné balíčky, obvykle je i problém s různými verzemi distribucí. S pojmem balíčkovací systém také úzce souvisí pojem repositář. Jde o speciální server, který obsahuje centrální úložiště balíčků pro danou distribuci, který využívají všichni její uživatelé. Při vzniku nové verze pak stačí do repositáře uložit novější verzi balíčku a v tu chvíli je možno jej začít instalovat. Výhodou je, že do oficiálních repositářů určených pro koncové uživatele (existují totiž repositáře neoficiální nebo vývojářské, které obsahují zkušební verze programů či balíčků a běžný uživatel by s nimi neměl přijít do styku, protože mohou způsobit to, že vaše distribuce přestane správně fungovat) se dostanou jen odzkoušené verze programů a minimalizují se problémy s jejich instalací. Ale servery zase musí mít dostatečnou kapacitu, aby byly schopny zachytit nápor uživatelů, snažících se o aktualizaci různých balíčků. Nevýhodou bývá, že některé distribuce mají někdy problém s rychlým uváděním nových verzí programů.

Z nedávné minulosti se jistě můžu zmínit o verzi 3.0 prohlížeče Mozilla Firefox, kdy se v mé oblíbené distribuci tato verze objevila s několikadenním zpožděním. Ale to se liší program od programu a nelze to považovat za standard. Výhodou balíčkovacího systému je tedy snadná správa a instalace/odin­stalace programů, nevýhodou může být to, že balíčky jsou vytvářeny se standardními volbami programů a ne vždy mohou plně využít potenciál vašeho počítače. Neznamená to, že je nelze používat, ale v případě, že chcete výkon svého počítač vyždímat opravdu do posledního kousku, zkuste radši kompilaci.

Zůstaňme však u balíčkovacích systémů. Z pohledu začátečníka můžeme říci, že vše většinou točí kolem dvou typů balíčků, a to RPM a DEB. RPM je zkratka ze slov RedHat Package Manager, z čehož snadno odvodíte, že původně vznikl pro distribuci RedHat. Dnes jej však používají třeba distribuce Mandriva, openSUSE, PCLinuxOS nebo TurboLinux. Jména balíčků většinou dodržují konvenci <jméno_programu>-<verze>-<vydání>.<archi­tektura>.rpm, např. gimp-2.4.6–1.i386.rpm. Z názvu tak poznáte, jaký program je v balíčku obsažen. Občas se však objevuje kritika, že názvy nejsou konzistentní. Je jasné, že jen RPM balíček v distribuci vše nespasí, je zapotřebí mít ještě jiný program, který bude v rámci distribuce integrován. V Mandrivě tak najdete RPMDrake, v SUSE najdete YaST, Yum ve Fedoře nebo v RedHatu. Obvykle se jedná o grafickou nadstavbu jiného programu. Pro začátečníka je však použití těchto programů velmi doporučováno, protože jsou navrženy tak, aby byla celá operace co nejjednodušší. Obdobně to funguje i s DEB balíčky. Obvykle je používají distribuce založené na Debianu, jako je např. Ubuntu, Xandros nebo Knoppix Grafická nadstavba má jméno Synaptic nebo Adept.

ict ve školství 24

Instalace se pak obvykle odehrává tak, že uživatel si spustí grafické rozhraní a do vyhledávacího řádku zadá jméno programu, který chce nainstalovat. Balíčkovací systém již ví (po aktualizaci), které balíčky jsou k dipozici a nabídne případné nové verze k instalaci. Samozřejmě pokud program není nainstalován, nabídne instalaci také. Zároveň zjistí, které součásti program vyžaduje, a doinstaluje ty chybějící. Podrobnější informace hledejte v příručkách svých distribucí. Občas se stane, že najdete program, který je v jiném balíčku než ten, který potřebujete. Balíčky se dají i převádět. Můžete z RPM udělat DEB a naopak. Slouží k tomu program pojmenovaný Alien.

Začínají se objevovat i jiné varianty, které se podobají spustitelným instalačním souborům z Windows, například CNR. Do budoucna určitě bude zapotřebí prozkoumat i tuto cestu, protože řada uživatelů už dnes vyžaduje jednotný a přehledný systém instalace programů, který je nenutí uvažovat nad tím, jakou distribuci používají. V tuto chvíli ji v podstatě splňuje jen svatá trojice, ale to se opět vracíme zpět.

Autor článku

Pracuje na pozici IT architekta pro firmu zabývající se zpracováním ropy a výrobou produktů z ní. Navrhuje rozličná řešení a jejich integraci do firemní infrastruktury na základě firemních standardů bezpečnosti nebo plánů obnovy.