GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie man mit dnf-Paketgruppen arbeitet

Dnf ist der standardmäßige High-Level-Paketmanager in der Red Hat-Distributionsfamilie, zu der Fedora, Red Hat Enterprise Linux und alle seine Klone gehören. Es ist der Nachfolger von Yum, und in der Tat ist die Verwendung des Befehls yum in neueren Versionen der oben genannten Distributionen nur eine andere Möglichkeit, dnf aufzurufen. Dnf hat viele nette Funktionen
und Plugins, die uns helfen, im „.rpm“-Format verpackte Software zu installieren, zu aktualisieren und zu entfernen. In diesem Tutorial untersuchen wir dnf-Paketgruppen und lernen, wie man mit ihnen umgeht.

In diesem Tutorial lernen Sie :

  • Was ist eine Paketgruppe
  • So erhalten Sie Informationen zu einer Paketgruppe
  • So listen Sie alle verfügbaren Paketgruppen auf
  • So installieren, aktualisieren und entfernen Sie eine Paketgruppe

Wie man mit dnf-Paketgruppen arbeitet

Softwareanforderungen und verwendete Konventionen

Softwareanforderungen und Linux-Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder verwendete Softwareversion
System Distributionen, die dnf als Paketmanager verwenden
Software dnf
Andere Keine
Konventionen # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl
$ – erfordert, dass gegebene Linux-Befehle als normaler nicht-privilegierter Benutzer ausgeführt werden

Was ist eine Paketgruppe?

Beginnen wir damit, zu definieren, was eine Paketgruppe ist. Eine Paketgruppe ist im Grunde ein „virtuelles“ Paket. Wir nennen es hier „virtuell“, weil es keine spezifische Software an sich bereitstellt, sondern auf andere „echte“ Pakete verweist. Wir können
Paketgruppen verwenden, um einen „Satz“ von Paketen mit einem einzigen Befehl zu installieren. Angenommen, wir müssen die Pakete installieren, die für die Arbeit mit virtuellen kvm-Maschinen auf Fedora erforderlich sind:Anstatt jedes Paket einzeln zu installieren, können wir einfach die Paketgruppe „Virtualisierung“ installieren, wodurch die gesamte erforderliche Software auf unserem System installiert wird .

Informationen über eine Paketgruppe erhalten

Bevor wir eine Paketgruppe installieren, möchten wir vielleicht sehen, welche Pakete von ihr hereingezogen werden. Um diese Aufgabe zu erfüllen, müssen wir lediglich die dnf group info verwenden Befehl und übergibt den Namen der Paketgruppe, die wir untersuchen möchten, als Argument. Um zu sehen, was die @virtualization Paketgruppen enthalten, zum Beispiel würden wir Folgendes ausführen:

$ dnf group info virtualization

Hier ist die Ausgabe des obigen Befehls auf einem Fedora 34-System:

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

Wir können die Ausführlichkeit des Befehls erhöhen und detailliertere Informationen erhalten, indem wir ihn mit -v aufrufen (kurz für --verbose ) Option:

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

Das erste, was uns in der Ausgabe auffällt, ist der Name und die id der Paketgruppe, in diesem Fall „Virtualisierung“ bzw. „Virtualisierung“. Danach können wir eine kurze Beschreibung lesen der Paketgruppe und ihres Zwecks,
und schließlich die eigentliche Liste der darin enthaltenen Pakete. Wir können sehen, dass die Pakete in drei Hauptabschnitte unterteilt sind:

  • Obligatorisch
  • Standard
  • Optional

Die als „Obligatorisch“ und „Standard“ markierten Pakete werden immer installiert werden, während die als „Optional“ markierten nur installiert werden, wenn dies angegeben ist. Der Vollständigkeit halber sei erwähnt, dass es noch einen weiteren Abschnitt gibt, der in diesem Fall nicht verwendet wird:Conditional . Die Pakete, die Teil des Abschnitts „Bedingt“ sind, werden nur installiert, wenn die erforderlichen Pakete bereits installiert sind.

In bestimmten Fällen können einige Pakete, die Teil einer Paketgruppe sind, bereits im System vorhanden sein. Wenn wir die group info ausführen Befehl mit dem -v Option, wie wir es oben getan haben, die Pakete, die Teil der Gruppe sind und noch nicht installiert sind, leicht zu unterscheiden, da sie in der Liste hervorgehoben werden. Hier ist die Ausgabe der dnf -v group info virtualization Befehl nach dem virt-viewer Paket wurde einzeln installiert:

dnf -v group info virtualization Befehlsausgabe

Alle verfügbaren Paketgruppen auflisten

Um alle verfügbaren Paketgruppen in den Repositories unserer Distribution aufzulisten, müssen wir nur den folgenden Befehl ausführen:

$ dnf group list

Der obige Befehl gibt die Liste aller bekannten Gruppen zurück. Wir können jedoch eine Reihe von Optionen hinzufügen, um sein Verhalten zu ändern. Standardmäßig die sogenannten versteckten Gruppen sind nicht in der Liste enthalten. Damit sie sichtbar werden, müssen wir
nur --hidden hinzufügen Möglichkeit:

$ dnf group list --hidden

Wenn wir nur die Liste aller installierten erhalten möchten Paketgruppen, stattdessen können wir --installed verwenden Möglichkeit:

$ dnf group list --installed

Installieren, Aktualisieren und Entfernen einer Paketgruppe

Wie können wir also eine Paketgruppe installieren? Es gibt zwei Möglichkeiten:Wir können den Namen des Pakets mit dem Präfix @ angeben Symbol oder verwenden Sie die dnf group install Befehl, wie wir bereits gesehen haben. Die folgenden Befehle sind gleichwertig:

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

Wie bereits erwähnt, werden standardmäßig nur die Pakete „Mandatory“ und „Default“ installiert. Dieses Standardverhalten kann jedoch mithilfe von group_package_types geändert werden dnf-Option, entweder von der Befehlszeile oder in der dnf
Konfigurationsdatei. Machen wir ein Beispiel. Angenommen, wir möchten nur die Pakete installieren, die Teil des Abschnitts „Obligatorisch“ einer Paketgruppe sind, könnten wir den folgenden Befehl ausführen:

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

Wenn wir die Option nicht jedes Mal angeben möchten, wenn wir einen Befehl ausführen, können wir sie dauerhaft in der dnf-Konfigurationsdatei /etc/dnf/dnf.conf festlegen :

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

Wenn wir nur möchten, dass Pakete im Abschnitt „Optional“ einer Paketgruppe enthalten sind, können wir auch einfach den --with-optional hinzufügen Befehlszeilen-Flag bei der Installation einer Paketgruppe:

$ sudo dnf group install --with-optional virtualization

Wir können auch die Chance auf ein Upgrade haben eine Paketgruppe. Wenn wir dies tun, werden alle Pakete, die Teil der Gruppe sind, zusammen mit der Paketgruppe selbst aktualisiert:Dies könnte möglicherweise dazu führen, dass neue Pakete installiert werden,
wenn sie zur Gruppe hinzugefügt wurden, oder entfernt werden, wenn dies nicht der Fall ist nicht mehr Teil einer Gruppe sind und nicht explizit vom Benutzer installiert wurden. Um eine Paketgruppe zu aktualisieren, verwenden wir das group upgrade Befehl, also zum Beispiel
um das „Virtualisierungs“-Paket zu aktualisieren, würden wir Folgendes ausführen:

$ sudo dnf group upgrade virtualization

Dnf bietet auch einen Befehl zum Entfernen eine installierte Paketgruppe:group remove . Der Befehl entfernt alle Pakete, die Teil einer Gruppe des Betriebssystems sind, mit Ausnahme derjenigen, die Teil einer anderen Paketgruppe sind, oder solche, die explizit vom Benutzer installiert wurden. Um die Paketgruppe „Virtualisierung“ zu entfernen, würden wir Folgendes ausführen:

$ sudo dnf group remove virtualization

Schlussfolgerungen

In diesem Tutorial haben wir etwas über Paketgruppen gelernt. Wir haben gesehen, wie man Informationen über eine bestimmte Paketgruppe in den Distributionen erhält, die dnf als Paketmanager verwenden, wie Fedora und Rhel, wie Pakete, die Mitglied einer Paketgruppe sind, in Abschnitte unterteilt werden, welche davon standardmäßig installiert werden, und wie wir dieses
Verhalten ändern können. Schließlich haben wir gelernt, wie man eine Paketgruppe installiert, aktualisiert und entfernt.


Linux
  1. So konfigurieren Sie Nginx für die Arbeit mit PHP über PHP-FPM

  2. Benutzer zu Gruppe in Linux hinzufügen, Anleitung (mit Beispielen)

  3. So arbeiten Sie mit Benutzern und Gruppen in Linux

  4. So entfernen Sie alle Pakete mit DNF, von denen kein anderes Paket abhängt

  5. Wie funktioniert Kerberos mit SSH?

So konvertieren Sie Linux-Pakete mit Alien

So erstellen Sie eine Volumengruppe in Linux mit LVM

So arbeiten Sie mit Ansible Provisioner in Vagrant

So aktualisieren Sie Fedora 35 auf Fedora 36 mit GNOME 42

Ändern Sie Gruppen in Linux mit dem Befehl groupmod

Löschen Sie Gruppen in Linux mit dem Befehl groupdel