Ve Fedoře lze aplikace instalovat buď v prostředí, které nahlíží na software jako na aplikace, nebo dvěma tradičními způsoby - pomocí tzv. balíčků nebo kompilací zdrojového kódu. Následující kapitola obsahuje stručný popis všech těchto možností.
Tradiční způsob instalace aplikací ve Fedoře, který je popsaný dále v kapitole, spočívá v instalaci balíčků. Pod nimi se však kromě aplikací může skrývat i další software jako např. knihovny, zásuvné moduly, jaderné moduly, které běžného uživatele zpravidla nezajímají. Proto vznikla aplikace GNOME Software, která má za cíl uživatelům nabízet software pouze v podobě aplikací. Avšak v takové podobě, v jaké jsou na ni zvyklí ze softwarových center ostatních platforem, především mobilních. GNOME Software nakonec k instalaci aplikací také využívá balíčky, ale uživatele od práce s nimi odstiňuje.
GNOME Software naleznete pod aplikací Software a ikonou nákupní tašky (pokud používáte jiné prostředí než výchozí GNOME, nemusí být GNOME Software nainstalován, v takovém případě jej můžete nainstalovat z balíčku gnome-software pomocí nástrojů uvedených dále v kapitole). Jak můžete vidět na snímku obrazovky níže, nabízí tři karty: Vše, Nainstalované a Aktualizace. Pod Vše můžete aplikace vyhledávat nebo si vybrat jednu z doporučovaných, případně brouzdat jednotlivými kategoriemi. Profily aplikací nabízejí ikonu, rozšířený popis, snímky obrazovky a případně rozšíření, pokud jsou pro danou aplikaci nějaká k dispozici. Pokud se vám aplikace líbí, můžete ji nainstalovat modrým tlačítkem Instalovat. Na kartě Nainstalované naleznete seznam nainstalovaných aplikací a je také místem, kde můžete aplikace odinstalovat. Na kartě Aktualizace naleznete seznam dostupných aktualizací jak systému, tak aplikací.
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 drtivá většina uživatelů pracuje s DNF, které je nástupce dlouholetého výchozího správce yumu a na rozdíl od rpm poskytuje potřebné pohodlí pro uživatele. 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.f17.x86_64.rpm
je balíčkem multimediální aplikace xmms verze 1.2.10-23 určeným pro Fedoru 17 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 soubor_balicku.rpm
a odinstalovat pomocí
rpm -e jmeno_balicku
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ů DNF, 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ů DNF. Abychom však mohli DNF 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). Jinými slovy je to zdroj softwaru. Z repozitáře lze instalovat programy pomocí buď textového příkazu dnf
nebo grafických nástrojů jako například PackageKit nebo 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ů DNF. Jak již bylo několikrát zmíněno, slouží DNF ke konzistentní instalaci, aktualizaci a odebírání balíčků. Navíc DNF 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 DNF.
usage: dnf [options] COMMAND
Seznam hlavních příkazů autoremove check-update Zkontrolovat dostupnost aktualizací pro balíčky clean Odstranit data z cache distro-sync Synchronizovat nainstalované balíčky na poslední dostupnou verzi downgrade Snížení verze balíčku group Zobrazit nebo používat skupinové informace help Zobrazit užitečnou nápovědu history Zobrazit nebo používat historii transakcí info Zobrazit detaily o balíčku nebo skupině balíčků install Instalovat balíček nebo balíčky do vašeho systému list Vypsat balíček nebo skupiny balíčků makecache Vygenerovat cache s metadaty provides Nalézt balíček, který poskytuje danou hodnotu reinstall Reinstalace balíčku remove Odstranit balíček nebo balíčky ze systému repolist Zobrazit nastavené repozitáře softwaru repository-packages Spustit příkazy pro všechny balíčky v daném repositáři search Vyhledat detaily balíčku pro zadaný řetězec updateinfo Zobrazit informace o balíčcích upgrade Aktualizovat balíček nebo balíčky ve vašem systému upgrade-to Aktualizovat balíček ve vašem systému na uvedenou verzi
Seznam příkazů zásuvných modulů builddep Install build dependencies for packagei or spec file config-manager manage dnf configuration options and repositories copr Interact with Copr repositories. debuginfo-install install debuginfo packages download Download package to current directory kickstart Install packages defined in a kickstart file on your system langavailable Search available langpack packages langinfo Show langpack packages for a given language langinstall Install the given packages langlist Show installed languages langremove Remove the given packages migrate migrate yum's history, group and yumdb data to dnf needs-restarting determine updated binaries that need restarting playground Interact with Playground repository. repoquery search for packages matching keyword reposync download all packages from remote repo
Na první pohled se používání příkazu dnf 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
.
dnf search jmeno_aplikace
Chceme-li získat o určitém balíčku více informací stačí zadat
dnf info jmeno_aplikace
DNF 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.
dnf list available
Přehled nainstalovaných balíčků získáte zadáním
dnf list installed
DNF také umožňuje získat přehled jednotlivých skupin balíčků (např. Administration Tools, Sound and Video, MySQL Database apod.).
dnf grouplist
Jestliže chcete získat přehled balíčků k aktualizaci, zadejte do příkazové řádky
dnf list update
Nové aplikace lze nainstalovat pomocí
dnf install jmeno_aplikace
DNF také umožňuje instalaci celé skupiny aplikací. Například skupinu aplikací pro přehrávání audia a videa lze snadno nainstalovat pomocí
dnf 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. DNF se postará o případné závislosti a stáhne požadované balíčky.
dnf install /cesta/k/lokalnimu/rpm
DNF je také schopen aktualizovat systém bez interakce uživatele, budete-li si to přát4).
dnf update
V případě, že si nejste jisti, zda-li máte aktuální balíčky, zadejte
dnf check-update
Může se stát, že budete chtít vědět, jaké balíčky byly aktualizovány s poslední aktualizací. Jednotlivé aktualizace jsou očíslovány a jejich seznam můžete vypsat příkazem:
dnf history
Potom vyberete aktualizaci, o které chcete vědět podrobnější informace a její pořadové číslo zadáte do následujícího příkazu, který vypíše mimo jiné i balíčky, které byly změněny:
dnf history info cislo
Pomocí příkazu dnf 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.
dnf remove jmeno_aplikace
Poznámka: Více informací o správci balíčků DNF lze získat pomocí man dnf
popř. info dnf
.
Pokud Vám v cestě do Internetu stojí proxy server, můžete jeho používání pro DNF nastavit v /etc/dnf/dnf.conf
, kde do sekce main
musíte přidat
proxy = jmeno.nebo.ip.proxy:port proxy_username = uzivatelske_jmeno proxy_password = heslo
Grafické aplikace pro správu balíčků existují ve Fedoře dvě - PackageKit a Yumex. Ani jedna z nich není k dispozici ve výchozí instalaci, protože byly nahrazený aplikací GNOME Software.
PackageKit je další vrstva, která dokáže běžet nad různými správci balíčků, v případě Fedory nad DNF. Nad ní běží různá grafická rozhraní. Ve Fedoře je to gnome-packagekit, který naleznete pod názvem Software, a Apper, který se používá v KDE Spinu. GNOME PackageKit nainstalujete příkazem
dnf -y install gnome-packagekit
Jak můžete vidět na obrázku, Software má jednoduché rozhraní. Vlevo nahoře je pole pro vyhledávání balíčků. Pod ním naleznete kategorie, podle kterých balíčky můžete filtrovat. V pravé horní části se nachází seznam nalezených/vyfiltrovaných balíčků a v dolní části potom informace o vybraném balíčku.
Instalaci nebo odstranění balíčku jednoduše provedete tak, že označíte nebo odznačíte zaškrtávací políčko a kliknete na tlačítko Použít v pravém dolním rohu.
Seznam balíčků, na kterých vybraný balíček závisí, můžete získat v nabídce Výběr → Závisí na. Zobrazí se vám okno jako na obrázku níže. Obrácenou závislost, tedy balíčky, které závisí na vybraném balíčku, zobrazíte kliknutím na Požadováno od. Užitečnou funkcí je také zobrazení souborů, které se do systému při instalaci daného balíčku nahrají: Výběr → Získat seznam souborů.
V nabídce Filtry naleznete další možnosti filtrování balíčků. Užitečné je Systém → Záznam o softwaru, které vám zobrazí historii práce s balíčky (instalace, odinstalace, aktualizace,…). To se hodí v případě, že se v systému něco rozbije a vy potřebujete zjistit, jakou změnou v nainstalovaných balíčcích to bylo způsobeno.
dnfdragora je stejně jako PackageKit nadstavbou nad DNF. Původně byl vyvíjen pro distribuci Mageia pod názvem rpmdragora jako nadstavba nad rpmdrake. Nabízí pokročilejší grafické rozhraní pro ty, kteří chtějí pracovat přímo s balíčky. Podobá se tak nástroji Yumex, který už se dál nevyvíjí a byl z Fedory odstraněn. dnfdragora naleznete buď v Software nebo jej můžete nainstalovat následujícím příkazem:
dnf install -y dnfdragora
Lišta tlačítek v horní části okna vám umožňuje filtrovat mezi balíčky (pokud je tlačítko úplně vlevo přepnuto na Vše) nebo mezi tématickými skupinami balíčků (pokud je ono tlačítko přepnuto na Skupiny).
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 Použít, které se nachází v pravém dolním rohu okna aplikace.
dnfdragora umí také spravovat repozitáře. Do rozhraní pro jejich správu se dostanete kliknutím na tlačítko Soubor a výběrem položky Repozitáře. Historii operací provedených DNF si můžete nechat zobrazit kliknutím na Informace a výběrem Historie.
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 RPM Fusion. Tyto repozitáře přidáte pomocí příkazu
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).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.
Poznámka: Přidat repozitáře RPM Fusion můžete jednoduše také pomocí aplikace easyLife.
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 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.
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 balíčků z repozitáře RPM Fusion 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.f17.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ě.
Flatpak je nový formát pro instalaci aplikací, který je nezávislý na distribuci. Jeden instalační soubor tak můžete nainstalovat na libovolnou distribuci včetně Fedory. Umožňuje vám také instalaci nejnovějších verzí aplikací bez ohledu na to, jakou verzi Fedory používáte. Více se o formátu můžete dozvědět na flatpak.org.
Podpora pro Flatpak je nyní integrovaná také nástrojů GNOME Software a KDE Discover. Pokud stáhnete soubory .flatpakrepo (pro přidání repozitáře), .flatpakref a .flatpak (pro instalaci konkrétní aplikace), tyto nástroje je umí otevřít a vykonat operace, které představují. Po přidání repozitáře se aplikace v něm obsažené objeví v nabídce mezi ostatními dostupnými aplikacemi (po aktualizaci metadat, kterou můžete v případě GNOME Software vynutit restartem procesu gnome-software). Oba nástroje se postarají o stažení běhového prostředí, které aplikace vyžaduje ke svému běhu, a budou vám hlídat také aktualizace.
Flatpak je sice decentralizovaný formát, ale vzniká na něm postavený centrální repozitář - Flathub. Ten už obsahuje stovky aplikací, z nichž mnoho nenajdete ve Fedoře z jak technických, tak právních důvodů. Více se o Flathubu a o tom, jak si jej do Fedory přidat, dozvíte na flathub.org.
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 rozbalte6) 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ů DNF. 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
.