V Linuxu lze aplikace instalovat v zásadě dvěma základními způsoby - pomocí tzv. balíčků nebo kompilací zdrojového kódu. Následující kapitola obsahuje stručný popis obou těchto možností.
Softwarový balíček je ve své podstatě standardizovaný „balík“ souborů nezbytných pro spuštění určitého programu. Obsahuje tedy samotnou aplikaci, informace o jejím umístění v systému, procedury které se mají provést při instalaci / odstranění aplikace a informace o tom, jaké další aplikace potřebuje program ke své činnosti (tzv. závislosti). S jednotlivými balíčky je možné „manipulovat“ pomocí některého ze systémů pro správu balíčků. Správce balíčků se používá pro konzistentní instalaci, aktualizaci a odebírání aplikací.
Fedora používá balíčky rpm (RPM Package Manager - jedná se o tzv. rekurzivní zkratku). rpm sice v dnešní době představuje především formát softwarových balíčků, avšak jméno samotné se vyvinulo z původního správce balíčků, který byl používán pro jejich správu (Red Hat Package Manager). Tento správce je sice ve Fedoře stále k dispozici, avšak z hlediska funkcionality byl překonán vyspělejším správcem balíčků yum. Existují také další „balíčkové“ standardy a správci - například Debian1) používá balíčky deb a správce balíčků apt.
O jaký balíček se jedná, lze velice jednoduše poznat podle jeho koncovky. Balíčky rpm tak mají koncovku .rpm, balíčky deb pak koncovku .deb. To, že se jedná o balíček rpm, není dostačující podmínkou pro to, abyste byli schopni ho nainstalovat. Balíčky tohoto standardu totiž používají také jiné distribuce jako např. Mandriva. Navíc musí být balíček určen pro architekturu Vašeho počítače (např. i386, i686, x86_64 2)). Některé balíčky nejsou závislé na architektuře počítače (např. dokumentace) - tyto balíčky jsou v názvu označeny slovem noarch. Zkratka src označuje zdrojové kódy, které jsou také shodné pro všechny architektury. Dále je velmi doporučeníhodné, aby daný balíček byl určen přímo pro Vaši verzi distribuce. Všechny potřebné údaje jsou zakompovány do názvu balíčku. Například
xmms-1.2.10-23.fc5.x86_64.rpm
je balíčkem multimediální aplikace xmms verze 1.2.10-23 určeným pro Fedora Core 5 a architekturu x86_64.
Balíčky se nacházejí na instalačním DVD v adresáři Packages. Na Internetu jsou balíčky k dispozici např. na www.rpmseek.com a v tzv. repozitářích (viz. dále).
Balíčky .rpm lze instalovat pomocí
rpm -Uvh package_file.rpm
a odinstalovat pomocí
rpm -e package_name
Následující příkaz Vám vypíše všechny nainstalované balíčky seřazené vzestupně podle datumu instalace.
rpm -qa --last | tac
Základní nevýhodou správce balíčků rpm je, že neohlídá závislosti mezi jednotlivými balíčky. Jeden balíček totiž může pro svou instalaci vyžadovat balíček jiný. Tato závislost může být několikanásobná - Vámi požadovaný balíček může být závislý na dalších třech, které mohou zase vyžadovat další balíčky atd. Snadno se tak dostanete do situace, která je označována jako „rpm hell“. Nainstalovat / odebrat konkrétní balíček pak může být úkol vskutku nadlidský. Proto byl vyvinut správce balíčků yum, který umí tyto závislosti ohlídat a nainstaluje / odebere všechny potřebné balíčky za Vás.
Poznámka: Bližší informace o příkazu rpm viz. man rpm
nebo info rpm
.
Jak bylo zmíněno v kapitole Instalování / odinstalování balíčků pomocí rpm, nejlepším způsobem, jak instalovat aplikace, je použít správce balíčků yum. Abychom však mohli yum používat, musíme mít nastaveny tzv. repozitáře. Repozitáře jsou servery, na nichž jsou uloženy soubory určené pro distribuci po Internetu. Z repozitářů je možné si stáhnout balíčky pro rozšíření / aktualizaci Vaší Fedory (např. nejrůznější kodeky a aplikace, které nejsou standardní součástí instalačního DVD). Z repozitáře lze instalovat programy pomocí buď textového příkazu yum
nebo grafických nástrojů jako například yumex. Následující text předpokládá funkční připojení k Internetu.
Jestliže máte do systému přidány repozitáře, můžete používat správce balíčků yum. Jak již bylo několikrát zmíněno, slouží yum ke konzistentní instalaci, aktualizaci a odebírání balíčků. Navíc yum ohlídá závislosti mezi jednotlivými balíčky3) a tím značně zjednoduší jejich instalaci. Velice se doporučuje provádět správu balíčků právě prostřednictvím yum.
usage: yum [options] < update | install | info | remove | list | clean | provides | search | check-update | groupinstall | groupupdate | grouplist | groupinfo | groupremove | makecache | localinstall | erase | upgrade | whatprovides | localupdate | resolvedep | shell | deplist > options: -h, --help show this help message and exit -t, --tolerant be tolerant of errors -C run entirely from cache, don't update cache -c [config file] config file location -R [minutes] maximum command wait time -d [debug level] debugging output level -e [error level] error output level -y answer yes for all questions --version show Yum version and exit --installroot=[path] set install root --enablerepo=[repo] enable one or more repositories (wildcards allowed) --disablerepo=[repo] disable one or more repositories (wildcards allowed) --exclude=[package] exclude package(s) by name or glob --obsoletes enable obsoletes processing during updates --noplugins disable Yum plugins
Na první pohled se používání příkazu yum může jevit složité, ale ve skutečnosti je velice jednoduché.
Příklady:
Následující příkaz vygeneruje seznam všech balíčků, které souvisí s aplikací jmeno_aplikace
.
yum search jmeno_aplikace
Chceme-li získat o určitém balíčku více informací stačí zadat
yum info jmeno_aplikace
yum může také projít všechny Vámi nastavené repozitáře a podat informaci o tom, kde je možné získat příslušný balíček.
yum list available
Přehled nainstalovaných balíčků získáte zadáním
yum list installed
yum také umožňuje získat přehled jednotlivých skupin balíčků (např. Administration Tools, Sound and Video, MySQL Database apod.).
yum grouplist
Jestliže chcete získat přehled balíčků v repozitáři jmeno_repozitare, zadejte do příkazové řádky
yum list jmeno_repozitare
Nové aplikace lze nainstalovat pomocí
yum install jmeno_aplikace
yum také umožňuje instalaci celé skupiny aplikací. Například skupinu aplikací pro přehrávání audia a videa lze snadno nainstalovat pomocí
yum groupinstall „Sound and Video“
Jestliže jste stáhli rpm balíček do adresáře /path/to/the/rpm
můžete jeho instalaci provést pomocí následujícího příkazu. yum se postará o případné závislosti a stáhne požadované balíčky.
yum localinstall /cesta/k/lokalnimu/rpm
yum je také schopen aktualizovat systém bez interakce uživatele, budete-li si to přát4).
yum update
V případě, že si nejste jisti, zda-li máte aktuální balíčky, zadejte
yum check-update
Pomocí příkazu yum můžete odinstalovat nejen daný balíček ale také balíčky, které instalaci tohoto balíčku podmiňují, a které byly s tímto balíčkem nainstalovány.
yum remove jmeno_aplikace
Poznámka: Více informací o správci balíčků yum lze získat pomocí man yum
popř. info yum
.
Pokud Vám v cestě do Internetu stojí proxy server, můžete jeho používání pro yum nastavit v /etc/yum.conf
, kde do sekce main
musíte přidat
proxy = jmeno.nebo.ip.proxy:port proxy_username = uzivatelske_jmeno proxy_password = heslo
Pomocí následujícího příkazu naistalujete grafickou nadstavbu yumex pro příkaz yum
.
yum -y install yumex
Aplikace umožňuje nejen instalovat/odebírat aplikace, ale také spravovat repozitáře. yumex spustíte pomocí Aplikace → Systémové nástroje → Yum Extender. Po spuštění je třeba chvíli počkat, než se aplikace sesynchronizuje s údaji o repozitářích na Internetu.
Konkrétní balíček nainstalujete popř. zaktualizujete na kartě Balíčkový náhled5). Na této kartě můžete třídit balíčky podle několika kritérií. Pomocí roletkové nabídky Kategorie6) můžete vybírat
Zároveň s tímto členěním je možné pomocí přepínače Balíčky7) provádět výběr podle tohoto, zda-li se jedná o
Balíčky, které vyhovují oběma výše uvedeným kritériům třídění, se zobrazí v hlavním části okna aplikace. Jestliže kliknete na vybraný balíček, je možné o něm získat bližší informace na záložkách Popis, Informace, Soubory, Záznamy o změnách a Ostatní, které se nachází u dolního okraje okna aplikace.
Jestliže chcete vybraný balíček nainstalovat popř. zaktualizovat, stačí ho na seznamu vyfiltrovaných balíčků zaškrtnout. V případě, že chcete balíček odebrat, odškrtněte balíček ze seznamu nainstalovaných balíčků. Samotný proces zpracování balíčků spustíte tlačítkem Zpracovat frontu, které se nachází v pravém dolním rohu okna aplikace.
Jednotlivé balíčky se dělí do tématických skupin. Podobné členění je k dispozici také na kartě Balíčkový náhled. Balíčky jsou do skupin děleny již na úrovni repozitářů. V případě, že dva různé repozitáře obsahují stejné nebo podobné skupiny (např. skupina Aplication a Aplications), budou se tyto skupiny na kartě Balíčkový náhled jevit jako odlišné. Tento problém řeší karta Skupinový náhled8), ve které jsou balíčky z různých repozitářů rozčleněny do homogenních kategorií. Jestliže tedy chcete spravovat balíčky podle skupin, je tato záložka ideální volbou.
Seznam balíčků, které jste vybrali pro instalaci, aktualizaci popř. odebrání ze systému naleznete na kartě Náhled fronty balíčků9). Zpracování balíčků ve frontě můžete spustit pomocí tlačítka Zpracovat frontu, které se nachází v pravém dolním rohu okna aplikace.
Zahrnutí popř. vyjmutí již přidaného repozitáře provedete pouhým označením popř. odznačením zvoleného repozitáře na kartě Náhled výběru z repozitáře10). yumex neumožňuje přidávání nových repozitářů ale pouze správu stávajících!
Na poslední kartě Náhled výstupu11) naleznete hlášení aplikace yumex, která se mohou hodit v případě analyzování problémů.
Váš systém standardně obsahuje odkazy na základní repozitáře fedora a updates. Velice užitečnými repozitáři, které nejsou implicitně nastaveny, jsou např. repozitáře rpmfusion. Tyto repozitáře přidáte pomocí příkazu
rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
Příslušné konfigurační soubory pro jednotlivé repozitáře jsou uloženy v adresáři /etc/yum.repos.d
. Každý ze souborů v tomto adresáři obsahuje informace o jednom repozitáři. Výpisem obsahu tohoto adresáře lze tak snadno zjistit, jaké konkrétní repozitáře máte nastaveny. Soubory můžete přidávat, odebírat popř. editovat běžným textovým editorem.
GNU Privacy Guard (GnuPG nebo také GPG) je náhradou kryptografického softwaru PGP. GPG používá asymetrického šifrování (tj. konceptu veřejného a soukromého klíče).
Některé repozitáře nebudou fungovat pokud nebudete mít nainstalován jejich GPG klíč (záleží to na nastavení parametru gpgcheck v nastavení repozitáře. K zadání následujících příkazů musíte být přihlášen jako superuživatel. Pomocí příkazu
rpm --import http://<adresa>/<JMENO-GPG-KLICE>
stáhnete a nainstalujete veřejné klíče k repozitáři. Klíče pak slouží k účelům autentifikace balíčků stažených přes Internet. Tento způsob by Vám měl poskytnout jistotu, že balíčky skutečně pocházejí z daného repozitáře.
Poznámka: Aby byla při stažení balíčků z repozitáře provedena autentifikace pomocí GPG klíčů, je třeba mít v konfiguračním souboru12) příslušného repozitáře nastaveno gpgcheck=1
. Jestliže máte v konfiguračním souboru daného repozitáře nastaveno gpgcheck=0
, nebude autentifikace balíčků provedena.
Jestliže nemáte funkční připojení k Internetu, je možné si z Vašeho instalačního DVD vytvořit ISO obraz a ten následně připojit jako repozitář. Výhody a nevýhody lokálního repozitáře jsou zřejmé - na jedné straně je velice rychlá instalace balíčků, na druhé straně stojí absence baličků z repozitáře livna a po nějakém čase také neaktuální balíčky.
Vytvořte adresář /opt/fedora
, ve kterém bude umístěn ISO obraz instalačního DVD. K tomu, abyste byli schopni vytvořit ISO obraz, budete potřebovat 3.5 GB volného diskového prostoru.
mkdir /opt/fedora
Předpokládejme, že soubor zařízení Vaší DVD mechaniky je /dev/cdrom
. ISO obraz instalačního DVD vytvoříte v adresáři /opt/fedora
pomocí příkazů
cd /opt/fedora umount /dev/cdrom dd if=/dev/cdrom of=fedora.iso bs=1024
Dále vytvořte adresář /opt/lokalni_repozitar/dvd
. Do tohoto adresáře se bude připojovat ISO obraz.
mkdir -p /opt/lokalni_repozitar/dvd
Ten připojíte pomocí
mount -r -o loop /opt/fedora/fedora.iso /opt/lokalni_repozitar/dvd
Níže uvedeným příkazem nainstalujete balíček createrepo
z instalačního DVD.
cd "/opt/lokalni_repozitar/dvd/Packages" rpm -Uhv createrepo-0.9.5-2.fc9.noarch.rpm
Následně se přesuňte do adresáře /opt/lokalni_repozitar
a vygenerujete seznam balíčků obsažených na instalačním DVD. Tato operace může trvat až několik minut v závislosti na výkonu Vašeho počítače.
cd /opt/lokalni_repozitar createrepo .
Aby nebylo nutné pokaždém restartu systému ISO obraz připojovat ručně, otevřete soubor /etc/fstab
gedit /etc/fstab
a na jeho konec přidejte řádek
/opt/fedora/fedora.iso /opt/lokalni_repozitar/dvd iso9660 ro,loop 0 0
Poznámka: Soubor fstab
musí vždy končit prázdnou řádkou - v opačné případě bude systém hlásit chybu.
Dále je třeba přidat nově vytvořený repozitář do seznamu repozitářů určených pro aktualizaci systému - to umožní aplikaci yum použít tento repozitář pro aktualizaci systému. Vytvořte soubor lokalni_repozitar.repo
.
gedit /etc/yum.repos.d/lokalni_repozitar.repo
Do nově vytvořeného souboru zkopírujte řádky
[lokalni_repozitar] name=Lokalni repozitar baseurl=file:///opt/lokalni_repozitar enable=1 gpgcheck=0
a soubor uložte.
Poznámka: Jestliže repozitář uložíte na sdílený disk, lze tímto způsobem vytvořit repozitář, který je možné následně využívat v rámci lokální sítě.
Při kompilaci zdrojových kódů překládáme programový kód pomocí tzv. kompilátoru. Standardně se jedná o kompilátor gcc, který je součástí vývojových balíčků. Tyto balíčky musíte mít nainstalovány, abyste byli schopni zdrojový kód zkompilovat. Nejprve stáhněte požadovaný soubor obsahující zdrojový kód např. na stránkách www.sourceforge.org. Soubor rozbalte13) a prostudujte přiložené soubory README popř. INSTALL. V nich je vysvětleno krok za krokem, jak postupovat při samotné kompilaci. Ve většině případů je postup následující
su - ./configure & make & make install
Kompilace aplikací ze zdrojových kódů s sebou přináší výhody i nevýhody. Výhodou je, že „ručně“ zkompilovaný program je zpravidla méně náročný na systémové prostředky, což může být zejména na slabších strojích pádný argument. Nevýhodou je, že tento způsob instalace vyžaduje relativně podrobnou znalost systému Linux a že o splnění případných závislostí se musí uživatel postarat sám. Z těchto důvodů se jednoznačně upřednostňuje instalace programů pomocí správce balíčků yum. Ke kompilaci ze zdrojových kódů je možné přistoupit v případě, že požadovaná aplikace není součástí repozitářů.
Poznámka: Některé aplikace je možné používat okamžitě po jejich rozbalení. Jednou z takovýchto aplikací je např. FPS hra Sauerbraten.
uname -m
. Dále je dobré vědět, že balíčky pro architekturu i386 je možné používat pro všechny architektury typu x86 - tj. i386, i486, i586 a i686./etc/yum.repos.d
.