Pokud máte k Linuxu blízko nebo jste pro něj alespoň vyčlenili partition na vašem disku vedle operačního systému Windows a nebo vás prostě jen zajímá, jakým způsobem je v jednotlivých distribucích instalace balíčků řešena a popřípadě i toto kritérium (jedno z mnoha) zohlednit při budoucím výběru pro vás vhodné distribuce Linuxu, tak čtěte dál …
V tomto článku se pokusím popsat způsoby instalace, odinstalace a upgrade programových balíků v jednotlivých distribucích Linuxu. Nepopisuji tu kompletní přehled všech možných parametrů jednotlivých nástrojů různých distribucí, nýbrž ty nejzákladnější a nejpoužívanější. Pokud se chcete dozvědět detailnější informace, použijte manuálové stránky nebo parametr --help ;-)
Popisované distribuce:
Co je to balíček?
Většina distribucí používá určitý systém programových balíků. Pomocí balíků se distribuují většinou aplikace a někdy také konfigurační soubory. Balík se snaží uživateli usnadnit práci a instalaci co nejvíce zautomatizovat. Při instalaci se nejdříve zazálohují soubory, u kterých má dojít ke změně, takže se v případě nefunkčnosti určitých komponent můžete teoreticky vrátit zpět k původním souborům před instalací.
Nejpoužívanějšími formáty programových balíků jsou
.rpm (Red Hat Package Manager) a
.deb (Debian GNU/Linux). V případě nutnosti je možné jednotlivými formáty balíčků konvertovat pomocí programu
Alien.
Soubory typu
.tar, .gz, .tar.gz, .bz2 nejsou balíčky, nýbrž komprimované archivy.
RPM balíčky
http://www.rpm.org
Tento formát původně vznikl pro
Red Hat Linux, ale dnes se s ním setkáte v mnoha jiných
distribucích:
Red Hat Linux (Fedora Core), SuSE Linux, Mandrake(Mandriva) Linux a dalších…
Balíčky můžete vyhledávat na adrese:
http://www.rpmfind.net/
Název se většinou (není to bohužel vždy pravidlem) skládá z vlastního
názvu,
čísla verze,
release, a
architektury pro kterou je balíček určen (i386, alpha, sparc, ppc, m68k …).
Např.:
openssh-2.9p2-12-i386.rpm
V praxi:
Spravují se příkazem
rpm. (Při instalaci a odinstalace balíčků musíte být přihlášeni jako
root)
# rpm --help zobrazení nápovědy včetně seznamu
použitelných parametrů
# rpm –-query –-all zobrazí kompletní seznam
nainstalovaných balíčků
# rpm –i instalace (install)
(př. rpm –i balicek-1.0.0.i386.rpm)
Pokud instalujete balíček poprvé, využijete parametru
–i (install). Instalace by měla trvat nanejvýš několik sekund, v závislosti na velikosti. Při instalaci však může dojít k určitým problémům. Například balíček bude ke své instalaci vyžadovat doinstalování některých souborů či balíčků, které ve vašem systému nenašel. Zkontrolujte si nastavení
„instalačních zdrojů“, případně doinstalujte potřebné věci ručně…
# rpm –U inovace (upgrade)
(př. rpm –U balicek*.rpm)
Tento parametr využijete tehdy, máte-li již balíček se stejným jménem nainstalován, ale chcete ho nahradit novější verzí. Můžete se dostat do situace, kdy vám nebude povolen upgrade, protože jsou na starší verzi závislé jiné programy a mohlo by to ovlivnit jejich funkčnost. Aktualizaci je možné vynutit volbou
--force, ale je lepší hledat jiné cesty.
# rpm –e odinstalace (erase)
(př. rpm –e balicek.rpm)
K odstranění nainstalovaných balíčků slouží parametr
–e . K odstranění není potřeba zadávat celý název jako při instalaci. Instalované balíčky jsou odkazovány pomocí jmen (vše co je před verzí RPM balíčku). V případě nutnosti je opět možné odstranění vynutit.
Vyřešení závislostí balíčků automaticky:
Jak už bylo výše zmíněno, může se vám při instalaci balíčku stát, že balíček ke své instalaci potřebuje jiný balíček a ten
zase může požadovat další atd. Naštěstí existují nástroje, které si se závislostmi dokáží s velkou úspěšností poradit.
V
Debianu je velmi dobře propracovaný nástroj
apt,
v
SuSE je to
YaST,
Fedora Core
používá
yum a
Mandriva nástroj
urpmi.
Je však nutné mít nastavené správně
„instalační zdroje“, odkud se mají balíčky instalovat.
Není v mých silách popsat jednotlivá umístění konfiguračních souborů zdrojů, neboť se to liší jak v distribucích,
tak také občas i ve verzích dané distribuce.
Mandriva - urpmi
urpmi nazev_balicku nainstaluje balíček
urpme nazev_balicku odinstaluje balíček
urpmi --update --auto –auto-select nainstaluje aktualizační balíčky
Fedora Core - yum
yum list vypíše seznam balíčků
yum install nazev_balicku instaluje balíček
yum remove nazev_balicku odebere balíček
yum update nainstaluje aktualizace balíčků
SuSE – YaST (YaST2…)
yast -l seznam dostupných modulů
yast -i nazev_balicku instaluje balíček
yast -h zobrazení nápovědy
yast spustí Yast2 Control Center
Poznámka:
U většiny instalačních nástrojů zobrazíte další volby po zadání parametru
--help nebo
-h.
Pokud si s příkazy příliš nerozumíte, můžete využít grafického prostředí…
DEB balíčky
Jak již sám název napovídá, jedná se o formát programových balíčků pro distribuci
Debian GNU/Linux.
Název balíčku by se měl zpravidla skládat ze
jména,
verze,
čísla revize a
architektury, pro kterou je určen.
Např.:
nvi_1.79-16a.1_i386.deb
Balíčky můžete vyhledávat na adrese:
http://www.debian.org/distrib/packages#search_packages
V praxi:
Pokud instaluje
.deb balíček, který jste si již stáhli, použijete program
dpkg (obdoba
rpm, viz. výše). Pro automatizaci instalace balíčků se používá program
apt-get.
Jsou vyžadována práva uživatele root.
Použití programu dpkg:
# dpkg --help zobrazení nápovědy včetně
seznamu použitelných parametrů
# dpkg -l zobrazí kompletní seznam
nainstalovaných balíčků
# dpkg –i instalace (install)
(př. dpkg –i balicek_1.0-7.1_i386.deb)
# dpkg –e odinstalace (erase)
(př. dpkg –e balicek_1.0-7.1_i386.deb)
V případě problému tu také existuje možnost si instalaci nebo odinstalace vynutit. Bližší informace
--force-help
# dpkg –i --force-all balicek_1.0-7.1_i386.deb
Program apt-get (Advanced Packaging Tool) s vyřešením závislostí:
Tento program je jednou z nejhezčích vlastností
Debian GNU/Linuxu. Vzhledem k tomu, že také používám distribuci Debian, dovolím si malinko podrobnější popis. Program
apt-get automatizuje instalaci a aktualizaci nových balíčků a dokáže vyřešit i
závislosti mezi nimi a scházející požadující balíky sám doinstalovat. Je však potřeba mít dobře nastavené
instalační zdroje (
/etc/apt/sources.list) třeba na nejbližší mirror distribuce Debian GNU/Linux( standardní nastavení souboru odkazuje na primární server).
Příklad nastavení pro Debian GNU/Linux Sarge (bez zdrojových balíčků):
deb ftp://ftp.cz.debian.org/debian/ stable main contrib non-free
Po změně zdrojů musíte následně provést:
# apt-get update
V praxi:
# apt-get –h zobrazení nápovědy včetně seznamu
použitelných parametrů
# apt-get install nazev_balicku instalace (př. apt-get install mc)
# apt-get remove nazev_balicku odinstalace (př. apt-get remove mc)
# apt-get upgrade stáhne a nainstaluje
aktualizované programové balíčky
Nástroj pro vyhledávání a zobrazování informací o balíčcích apt-cache.
# apt-cache search text vyhledá balíčky, v jejichž popisu
se nachází hledaný text
# apt-cache show nazev_balicku zobrazí informace o balíčku
TGZ balíčky
Setkáte s s nimi například v distribuci Slackware Linux a FreeBSD. Jedná se vlastně o komprimované archivy, které však obsahují instalační skripty (dodatečné informace k instalaci, takže se vlastně dá mluvit o balíčcích).
Název balíčku (pro Slackware) by měl obsahovat jméno, verzi, architekturu a autora.
Např.: abc-1.0.0-i386-author.tgz
Poznámka k FreeBSD:
Nejedná se o Linux, vznikl z BSD, z verze UNIX®u vyvinutého na University of California v Berkeley.
balíčky (packages - binární balíčky zkompilované z portů)
porty (kompilace a instalace programů přímo ze zdrojových kódů).
Balíčky můžete vyhledávat na adrese:
http://www.linuxpackages.net (Slackware)
http://www.freebsd.cz/ports/index.html (FreeBSD)
V praxi:
FreeBSD:
# pkg_info přehled nainstalovaných
balíčků
# pkg_add -r nazev_balicku.tgz Instalace balíčku.
Parametr „-r“ zajistí, že se stáhne nejaktuálnější verze
programu z internetu.
# pkg_delete /var/db/pkg/balicek odinstalování balíčku
Slackware:
# installpkg -i nazev_balicku.tgz Instalace balíčku
# removepkg nazev_balicku Odinstalace balíčku
# less /var/log/packages Výpis nainstal. balíčků
ebuild
Gentoo je distribuce založená na výrazně odlišných principech.
Zdrojové soubory se kompilují na míru cílovému počítači.
Základem Gentoo distribuce je Portage tree - adresářová struktura
dělená do skupin obsahující tisíce balíku - ebuildů.
Ebuild je script, který se postará o stažení, konfiguraci, kompilaci a instalaci daného programu.
Aktualizace celé databáze ebuildů z internetu pomocí příkazu:
#emerge sync
Aktualizace všech nainstalovaných balíčků:
#emerge -u system
Nainstaluje nebo přeinstaluje prohížeč Firefox:
#emerge mozilla-firefox
Odinstaluje balíček:
#emerge unmerge mozilla-firefox-1.5.0-r4
Vypsání všech nainstalovaných balíčků:
#epm -qa
Informace o balíčku mozilla-firefox:
#epm -qi mozilla-firefox
Tímto bych tento článek uzavřel. Věřím že některým uživatelům může pomoci lépe se zorientovat ve formátech a operacích s
jednotlivými programovými balíčky a nedopustil jsem se nějakých závažných syntaktických chyb (však vy mě určitě
v komentářích upozorníte) ;-)
Tw7Ug (c) 2006