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
Softwareanforderungen und verwendete Konventionen
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.