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 RPMS. 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.
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.
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ě Výběr repozitáře3). yumex neumožňuje přidávání nových repozitářů ale pouze správu stávajících!
Konkrétní balíček nainstalujete jeho zaškrtnutím v odpovídající skupině aplikací na kartě Zobrazená skupina4) a potvrzením volby tlačítkem Zpracovat frontu.
Váš systém standardně obsahuje odkazy na základní repozitáře fedora, updates a development. Velice užitečnými repozitáři, které nejsou implicitně nastaveny, jsou repozitáře livna. Tyto repozitáře přidáte pomocí příkazu
rpm -Uvh http://rpm.livna.org/livna-release-8.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).
K zadání následujících příkazů musíte být přihlášen jako superuživatel. Pomocí příkazů
rpm --import /etc/pki/rpm-gpg/* rpm --import http://rpm.livna.org/RPM-LIVNA-GPG-KEY
stáhnete veřejné klíče k výše zmiňovaným repozitářům livna. 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 souboru5) 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.
Vedle výše zmiňovaných repozitářů existují také další. Mezi nejznámější z těchto repozitářů patří např. atrpms. Souběžné používání těchto repozitářů s repozitářem livna však může mít za následek konflikty mezi balíčky při instalaci aplikací popř. aktualizaci systému! Pro bežné účely Vám budou zcela postačovat standardní repozitáře doplněné repozitáři livna.
atrpms http://atrpms.net
Původní myšlenka depozitáře atrpms bylo poskytovat aplikace zaměřené na přírodní vědy. Momentálně však tento repozitář obsahuje i velké množství „nevědeckých“ aplikací.
Naimportujte GPG klíč
rpm --import http://ATrpms.net/RPM-GPG-KEY.atrpms
a do adresáře /etc/yum.repos.d
přidejte soubor atrpmps.repo
s následujícím obsahem
[atrpms] name=Fedora Core $releasever - $basearch - ATrpms baseurl=http://dl.atrpms.net/fc$releasever-$basearch/atrpms/stable gpgcheck=1 enabled=0
dribble http://dribble.org.uk
Tento repozitář se zaměřuje na hry a nejrůznější emulátory. Podle tvrzení na stránkách neduplikuje tento repozitář balíčky v repozitáři livna, a proto by souběžné použití těchto repozitářů mělo být bezproblémové.
Import GPG klíče provedete pomocí příkazu
rpm --import http://dries.studentenweb.org/rpm/RPM-GPG-KEY.dries.txt
Do adresáře /etc/yum.repos.d
přidejte soubor dries.repo
s následujícím obsahem
[dries] name=Extra Fedora rpms dries - $releasever - $basearch baseurl=http://ftp.belnet.be/packages/dries.ulyssis.org/fedora/linux/$releasever/$basearch/dries/RPMS/ gpgcheck=1 enabled=0
freshrpms http://freshrpms.net
Seznam balíčků určených pro Fedoru 8, které obsahuje tento repozitář, je k dispozici na adrese http://werewolf.freshrpms.net. Pro zahrnutí tohoto repozitáře si stáhněte rpm balíček, který obsahuje konfigurační soubory tohoto repozitáře.
wget -c http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/8/freshrpms-release/freshrpms-release-1.1-1.fc.noarch.rpm
Přesuňte se do adresáře obsahující stažený balíček a tento balíček nainstalujte.
rmp -Uhv freshrpms-release-1.1-1.fc.noarch.rpm
Otevřete pomocí textového editoru konfigurační soubor freshrpms.repo
, který se nachází v adresáři /etc/yum.repos.d
gedit /etc/yum.repos.d/freshrpms.repo
a nahraďte řádek
enabled=1
řádkem
enabled=0
Poznámka: Vzhledem k tomu, že v konfiguračních souborech všech výše uvedených repozitářů figuruje enabled=0
, nejsou tyto repozitáře zahrnuty do standardní instalace aplikací a pravidelných aktualizací. V případě, že z těchto depozitářů budete chtít nainstalovat konkrétní aplikaci, je nutné příkaz yum
doplnit o přepínač –enablerepo
.
yum -y install --enablerepo=jmeno_repozitare jmeno_balicku
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.4.10-1.fc8.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ě.
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íčky6) 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řát7).
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 její 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
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 rozbalte8) 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
.