Všechny moderní linuxové distribuce organizují software do balíčků, které obsahují binární soubory aplikací, soubory, metadata a informace o závislostech balíčků, možných konfliktech s jinými balíčky atd. Jádro správce balíčků Rhel se nazývá rpm sám a je to nástroj používaný také dnf
, správce balíčků vyšší úrovně, který je schopen spravovat závislosti. Relativně nedávná technologie flatpak
, nainstalujme také sandboxové aplikace spolu s jejich runtimemi.
V tomto tutoriálu se naučíte:
- Tři hlavní způsoby instalace balíčku pomocí rpm
- Jak nainstalovat balíčky pomocí dnf
- Jak graficky instalovat aplikace z nástroje gnome-software
- Jak nainstalovat aplikace v izolovaném prostoru pomocí flatpak
Manuál správce balíčků rpm
Požadavky na software a použité konvence
Kategorie | Požadavky, konvence nebo použitá verze softwaru |
---|---|
Systém | RHEL 8 / CentOS 8 |
Software | Nástroje použité v tomto tutoriálu jsou nainstalovány ve výchozím nastavení, není potřeba žádný další software. |
Jiné | Oprávnění ke spuštění příkazu s právy root. |
Konvence | # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel |
Co je to balíček?
V RHEL 8 / CentOS 8, stejně jako ve všech moderních linuxových distribucích, je software organizován v repozitářích ve formě balíčků. Ale co je to vlastně balíček? Balíček je v podstatě komprimovaný archiv, který obsahuje soubory spojené s konkrétním softwarem, jako jsou zkompilované binární soubory a knihovny, plus metadata a pokyny o tom, kde a jak by měly být tyto soubory nainstalovány v systému, externí závislosti, které software potřebuje ke správnému fungování a více. RHEL a CentOS používají rpm
formát balíčku, který vynalezl samotný Red Hat:v tomto tutoriálu uvidíme, jak nainstalovat a spravovat balíčky rpm na Red Hat Enterprise Linux 8.
RPM:Red Hat Package Manager a yum/dnf
Pro usnadnění správy rpm balíčků, rpm package manager
byl vytvořen. Přestože je velmi výkonný, je zaměřen na jednotlivé balíčky, takže není schopen vyřešit závislosti. Chcete-li spravovat vztahy mezi balíčky a vyhnout se nechvalně známému peklu závislostí, nejprve yum
správce balíčků (Yellow Updater Modified) a poté jeho vývoj, dnf
(Dandified YUM), byly přijaty. Dnf bylo poprvé představeno ve Fedoře 18 a nahrazuje yum v poslední verzi Red Hat Enterprise Linux.
Instalace balíčku s otáčkami za minutu
Jednou z nejzákladnějších operací, které můžeme s rpm provádět, je instalace balíčku. Jak již bylo řečeno, bude to fungovat pouze v případě, že balíček nemá žádné externí závislosti, protože rpm jej nedokáže spravovat. V zásadě existují tři způsoby, jak můžeme nainstalovat balíček s rpm:odpovídají příslušně -i
, -U
a -F
možnosti.
Pro instalaci nového balíčku můžeme spustit rpm s -i
možnost (zkratka pro --install
). Syntaxe je velmi jednoduchá:
$ sudo rpm -i packagename.rpm
Když spustíme výše uvedený příkaz, zadaný balíček se nainstaluje, pouze pokud ještě není nainstalován v systému. Pokud se pokusíme nainstalovat již nainstalovaný balíček (v tomto případě gedit), zobrazí se chyba:
$ sudo rpm -i gedit-3.28.1-3.el8.x86_64.rpm package gedit-2:3.28.1-3.el8.x86_64 is already installed
Všimněte si, že zde pro stejný „balíček“ máme na mysli stejnou přesnou verzi. Tento způsob instalace se doporučuje použít při instalaci nového jádra:v takových situacích bude nové jádro koexistovat se starším jádrem, takže v případě, že něco nebude fungovat podle očekávání, bude možné je použít jako záložní.
Věci jdou jinak, když použijeme -U
volba, což je zkratka pro --upgrade
. V tomto případě, pokud balíček ještě v systému neexistuje, je nainstalován; pokud existuje předchozí verze balíčku, balíček se upgraduje. To znamená, že po instalaci novější verze balíčku jsou starší odstraněny. Jak jsme řekli výše, upgrade základní části softwaru, jako je stávající jádro, se důrazně nedoporučuje:před odstraněním starších verzí je lepší mít absolutní jistotu, že nové jádro funguje podle očekávání.
-F
(nebo –freshen) možnost dělá něco jiného. Při jeho použití se aktualizují pouze již existující balíčky. Pokud předchozí verze balíčku, který se pokoušíme nainstalovat, v našem systému ještě neexistuje, není nainstalována.
Instalace balíčku ze vzdáleného umístění
S rpm
je také možné nainstalovat balíček, který není na našem lokálním souborovém systému. Řekněme například, že chceme nainstalovat balíček přístupný přes protokol ftp; příkaz ke spuštění by byl následující:
$ sudo rpm -i ftp://ftp.someaddress.com/package.rpm
Je také možné poskytnout uživatelské jméno a heslo, pokud je vyžadováno ověření, včetně těchto informací v adrese:
$ sudo rpm -i ftp://username:[email protected]/package.rpm
Instalace balíčku s dnf
Ačkoli dnf
pracuje nad otáčkami za minutu, poskytuje velmi užitečné funkce, jako je správa softwarových závislostí a možnost instalovat software z distribučních úložišť. Metadata uložená v balíčku rpm mimo jiné určují, jaké další balíčky by měly být nainstalovány, aby software fungoval, a případně jaké balíčky by s ním mohly být v konfliktu. Dnf, nebo se postará o provedení všech potřebných operací po obdržení potvrzení uživatele. Řekněme například, že chceme nainstalovat vim
balíček pomocí dnf; běželi bychom:
$ sudo dnf install vim
Po spuštění výše uvedeného příkazu se na obrazovce zobrazí operace, které je třeba provést, a seznam závislostí, které je třeba nainstalovat:
Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: vim-enhanced x86_64 2:8.0.1763-7.el8 rhel-8-for-x86_64-appstream-beta-rpms 1.4 M Installing dependencies: gpm-libs x86_64 1.20.7-15.el8 rhel-8-for-x86_64-appstream-beta-rpms 39 k vim-filesystem noarch 2:8.0.1763-7.el8 rhel-8-for-x86_64-appstream-beta-rpms 47 k vim-common x86_64 2:8.0.1763-7.el8 rhel-8-for-x86_64-appstream-beta-rpms 6.3 M Transaction Summary ================================================================================ Install 4 Packages Total download size: 7.8 M Installed size: 30 M Is this ok [y/N]:
Pokud spouštíte dnf ze skriptu, který má být spouštěn bez obsluhy, -y
možnost (zkrácená forma --assumeyes
) lze použít:tak všechny odpovědi obdrží automaticky odpověď „ano“ a bude vyžadována interakce uživatele.
Stejně jako rpm nám dnf umožňuje nainstalovat balíček umístěný na vzdálené adrese URL; vše, co musíme udělat, je specifikovat to druhé:
$ sudo dnf install http://path/to/package.rpm
Grafická instalace balíčku
Při spuštění GNOME
desktopové prostředí, je také možné nainstalovat balíček graficky pomocí gnome-software
aplikace. Pokud balíček existuje v distribučních úložištích, můžeme jednoduše vyhledat aplikaci, kterou chceme nainstalovat, pomocí vyhledávacího pole:
Rozhraní pro vyhledávání softwaru Gnome
Poté můžeme kliknout na tlačítko „install“ a aplikaci skutečně nainstalovat:
Rozhraní pro instalaci softwaru Gnome
Při instalaci balíčku touto metodou se používá jiný postup. Softwarové aplikace gnome jsou rozhraním pro packagekit
což je samo o sobě frontend na vysoké úrovni, který funguje jako abstrakce nad nativním správcem balíčků distribuce:jeho hlavním cílem je sjednotit instalace na různých distribucích. Je také důležité poznamenat, že balíčky nainstalované tímto způsobem se neobjeví v historii dnf, protože packagekit je nepoužívá pod kapotou.
Instalace softwaru s plochými balíčky
Na RHEL 8 / CentOS 8 je dalším možným způsobem instalace softwaru, a to jak ze softwarové aplikace gnome, tak z příkazového řádku, použití flatpacků. Flatpacky poskytují izolovaná prostředí, ve kterých je poskytován software spolu se všemi jeho závislostmi:to umožňuje provozovat konkrétní verzi programu na všech distribucích, které tuto technologii podporují, nezávisle na nativních knihovnách. Hlavním úložištěm flatpacků je flathub. Instalace flatpacku z tohoto webu pomocí softwaru gnome je opravdu snadná. Jediné, co musíme udělat, je vyhledat aplikaci, kterou chceme nainstalovat, a kliknout na install
tlačítko.
Flathub je hlavní úložiště používané pro flatpaky
Software Gnome by se měl automaticky spustit:pokud ne, stačí s ním otevřít stažený soubor. Poté, co klikneme na tlačítko instalace a poskytneme naše heslo správce, bude-li to vyžadováno, balíček se nainstaluje.
Instalace flatpak softwaru Gnome
Jakmile nainstalujeme flatpak tímto způsobem, repozitář flathub se automaticky přidá jako zdroj flatpak, takže bude možné vyhledávat další aplikace v něm obsažené přímo z rozhraní gnome-softwarového centra.
Stejné operace, které jsme viděli výše, je možné provádět z příkazového řádku pomocí příkazu flatpak. Při použití flatpak
utility, je možné se rozhodnout, zda by instalace měla být globálně nebo pouze pro konkrétního uživatele. V druhém případě nejsou vyžadována oprávnění správce a --user
příkazu musí být poskytnuta volba. Chcete-li globálně přidat úložiště flathub, jednoduše spustíme:
$ sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Nyní můžeme nainstalovat náš balíček. Musíme poskytnout úplnou cestu k balíčku a také název vzdáleného úložiště, ze kterého chceme instalovat. Například pro instalaci neovim bychom spustili:
$ sudo flatpak install flathub io.neovim.nvim Required runtime for io.neovim.nvim/x86_64/stable (runtime/org.freedesktop.Sdk/x86_64/18.08) found in remote flathub Do you want to install it? [y/n]:
Pokud odpovíme kladně, balíček a jeho běhové prostředí se stáhne a nainstaluje do našeho systému. Pokud se chcete dozvědět více o technologii flatpak, můžete si prohlédnout náš podrobnější článek na toto téma
Závěry
V tomto tutoriálu jsme viděli různé způsoby instalace softwaru na RHEL 8 / CentOS 8 Linux Systems. Software je organizován v balíčcích, které jsou na nízké úrovni spravovány správcem balíčků rpm, který nedokáže automaticky vyřešit závislosti. K zajištění této funkce a dalších funkcí se používá program dnf, který pracuje nad otáčkami za minutu. Nakonec jsme se naučili instalovat sandboxový software pomocí relativně nedávné technologie, flatpak.