GNU/Linux >> Znalost Linux >  >> Linux

Jak pracovat se skupinami balíčků dnf

Dnf je výchozí správce balíčků na vysoké úrovni v rodině distribucí Red Hat, která zahrnuje Fedora, Red Hat Enterprise Linux a všechny jeho klony. Je to nástupce Yum a skutečně použití příkazu yum v posledních verzích výše zmíněných distribucí je jen další způsob, jak volat dnf. Dnf má spoustu pěkných funkcí
a pluginů, které nám pomáhají instalovat, aktualizovat a odstraňovat software zabalený ve formátu „.rpm“. V tomto tutoriálu prozkoumáme skupiny balíčků dnf a naučíme se s nimi zacházet.

V tomto tutoriálu se to naučíte :

  • Co je to skupina balíčků
  • Jak získat informace o skupině balíčků
  • Jak vypsat všechny dostupné skupiny balíčků
  • Jak nainstalovat, upgradovat a odebrat skupinu balíčků

Jak pracovat se skupinami balíčků dnf

Použité softwarové požadavky a konvence

Softwarové požadavky a konvence příkazového řádku systému Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém Distribuce, které používají dnf jako správce balíčků
Software dnf
Jiné Žádné
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 command
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Co je to skupina balíčků?

Začněme tím, že definujeme, co je to skupina balíčků. Skupina balíčků je v podstatě „virtuální“ balíček. Zde tomu říkáme „virtuální“, protože neposkytuje konkrétní software jako takový, ale odkazuje na jiné „skutečné“ balíčky. Můžeme
použít skupiny balíčků k instalaci „sady“ balíčků pomocí jediného příkazu. Řekněme například, že potřebujeme nainstalovat balíčky potřebné pro práci s virtuálními stroji kvm na Fedoře:namísto samostatné instalace každého balíčku můžeme pouze nainstalovat skupinu balíčků „virtualizace“, což způsobí, že veškerý potřebný software bude nainstalován na náš systém. .

Získání informací o skupině balíčků

Než nainstalujeme skupinu balíčků, možná budeme chtít vidět, jaké balíčky budou staženy. Ke splnění tohoto úkolu nám nezbývá nic jiného než použít dnf group info příkaz, předáním názvu skupiny balíčků, kterou chceme zkontrolovat, jako jeho argumentu. Chcete-li zjistit, co je @virtualization skupiny balíčků obsahují, například bychom spustili:

$ dnf group info virtualization

Zde je výstup příkazu výše na systému Fedora 34:

Group: Virtualization
 Description: These packages provide a graphical virtualization environment.
 Mandatory Packages:
   virt-install
 Default Packages:
   libvirt-daemon-config-network
   libvirt-daemon-kvm
   qemu-kvm
   virt-manager
   virt-viewer
 Optional Packages:
   libguestfs-tools
   python3-libguestfs
   virt-top

Můžeme zvýšit upovídanost příkazu a získat podrobnější informace jeho vyvoláním pomocí -v (zkratka pro --verbose ) možnost:

Group: Virtualization
 Group-Id: virtualization
 Description: These packages provide a graphical virtualization environment.
 Mandatory Packages:
   virt-install-3.2.0-3.fc34.noarch                                                                 @System
 Default Packages:
   libvirt-daemon-config-network-7.0.0-4.fc34.x86_64                                                @System
   libvirt-daemon-kvm-7.0.0-4.fc34.x86_64                                                           @System
   qemu-kvm-2:5.2.0-7.fc34.x86_64                                                                   @System
   virt-manager-3.2.0-3.fc34.noarch                                                                 @System
   virt-viewer-9.0-3.fc34.x86_64                                                                    @System
 Optional Packages:
   libguestfs-tools
   python3-libguestfs-1:1.45.4-1.fc34.x86_64                                                        updates
   virt-top-1.0.9-17.fc34.x86_64                                                                    fedora

První věc, které si můžeme ve výstupu všimnout, je název a id skupiny balíčků, v tomto případě „virtualizace“ a „virtualizace“. Po nich si můžeme přečíst stručný popis skupiny balíčků a jejího účelu
a nakonec aktuální seznam balíčků v ní obsažených. Vidíme, že balíčky jsou rozděleny do tří hlavních sekcí:

  • Povinné
  • Výchozí
  • Volitelné

Balíčky označené jako „Povinné“ a „Výchozí“ budou vždy být nainstalovány, zatímco ty označené jako „Volitelné“ se nainstalují pouze v případě, že budou specifikovány. Pro úplnost bychom měli zmínit, že existuje další sekce, která se v tomto případě nepoužívá:Podmíněné . Balíčky, které jsou součástí sekce “Podmíněné” se instalují pouze v případě, že balíky, které vyžadují, jsou již nainstalovány.

V určitých případech mohou být některé balíčky, které jsou součástí skupiny balíčků, již v systému přítomny. Když spustíme group info pomocí -v Jak jsme to udělali výše, balíčky, které jsou součástí skupiny a ještě nejsou nainstalovány, budou snadno rozlišitelné, protože budou v seznamu zvýrazněny. Zde je výstup dnf -v group info virtualization příkaz za virt-viewer balíček byl nainstalován samostatně:

dnf -v group info virtualization příkazový výstup

Seznam všech dostupných skupin balíčků

K vypsání všech dostupných skupin balíčků v repozitářích naší distribuce stačí spustit následující příkaz:

$ dnf group list

Výše uvedený příkaz vrátí seznam všech známých skupin. Můžeme však přidat řadu možností, jak upravit jeho chování. Ve výchozím nastavení takzvané skryté skupiny nejsou zahrnuty v seznamu. Aby se zobrazily, stačí
přidat --hidden možnost:

$ dnf group list --hidden

Pokud chceme získat pouze seznam všech nainstalovaných skupiny balíčků, místo toho můžeme použít --installed možnost:

$ dnf group list --installed

Instalace, aktualizace a odstranění skupiny balíčků

Jak tedy můžeme nainstalovat skupinu balíčků? Existují dva hlavní způsoby:můžeme zadat název balíčku s předponou @ nebo použijte dnf group install příkaz, jak jsme již viděli. Níže uvedené příkazy jsou ekvivalentní:

$ sudo dnf install @virtualization
$ sudo dnf group install virtualization

Jak jsme již řekli, ve výchozím nastavení jsou nainstalovány pouze balíčky „Povinné“ a „Výchozí“. Toto výchozí chování však lze upravit pomocí group_package_types dnf, buď z příkazového řádku nebo v konfiguračním souboru dnf
. Uveďme příklad. Předpokládejme, že chceme nainstalovat pouze balíčky, které jsou součástí „Povinné“ části skupiny balíčků, mohli bychom spustit následující příkaz:

$ sudo dnf --setopt=group_package_types="mandatory" group install Virtualization

Pokud nechceme zadávat volbu při každém spuštění příkazu, můžeme ji nastavit trvale v konfiguračním souboru dnf, /etc/dnf/dnf.conf :

[main]
# Install only Mandatory packages from package groups
group_package_types=mandatory

Pokud chceme, aby byly zahrnuty pouze balíčky zahrnuté v části „Volitelné“ skupiny balíčků, můžeme také přidat --with-optional příznak příkazového řádku při instalaci skupiny balíčků:

$ sudo dnf group install --with-optional virtualization

Můžeme mít také možnost upgradovat skupina balíčků. Když tak učiníme, všechny balíčky, které jsou součástí skupiny, budou aktualizovány společně se samotnou skupinou balíčků:to by mohlo potenciálně způsobit instalaci nových balíčků
pokud byly přidány do skupiny, nebo odebrány, pokud nejsou již nejsou součástí skupiny a uživatel je explicitně nenainstaloval. K upgradu skupiny balíčků používáme group upgrade příkaz, takže například
pro upgrade balíčku „Virtualizace“ bychom spustili:

$ sudo dnf group upgrade virtualization

Dnf také poskytuje příkaz k odstranění nainstalovaná skupina balíčků:group remove . Příkaz odstraní vše balíčky, které jsou součástí skupiny z operačního systému, kromě těch, které jsou součástí jiné skupiny balíčků, nebo těch, které jsou explicitně nainstalovány uživatelem. Chcete-li odstranit skupinu balíčků „Virtualizace“, spustili bychom:

$ sudo dnf group remove virtualization

Závěry

V tomto tutoriálu jsme se dozvěděli o skupinách balíčků. Viděli jsme, jak získat informace o konkrétní skupině balíčků v distribucích, které používají dnf jako správce balíčků, jako je Fedora a Rhel, jak jsou balíčky, které jsou členy skupin balíčků, rozděleny do sekcí, které z nich jsou standardně instalovány a jak můžeme toto
chování upravit. Nakonec jsme se naučili, jak nainstalovat, upgradovat a odstranit skupinu balíčků.


Linux
  1. Jak nakonfigurovat Nginx pro práci s PHP přes PHP-FPM

  2. Přidat uživatele do skupiny v Linuxu, jak na to (s příklady)

  3. Jak přimět Vim, aby správně spolupracoval s Tmux?

  1. Jak pracovat s uživateli a skupinami v Linuxu

  2. Zachyťte skupiny pomocí Awk nebo Grep?

  3. Jak aktivovat a připojit 2 skupiny svazků se stejnými názvy v CentOS/RHEL

  1. Správa linuxových balíčků s dnf

  2. Jak odstranit všechny balíčky s DNF, na kterých žádný jiný balíček nezávisí

  3. Jak funguje Kerberos s SSH?