DNF oder Dandified YUM ist ein Fork des YUM-Paketmanagers. Es wurde in Fedora 18 und auf Fedora 22 eingeführt. Es ist jetzt zum Standard-Paketmanager für die Handhabung der RPM-Pakete auf CentOS 8, RHEL 8 und Fedora geworden.
DNF löst alle Probleme, die mit yum in Verbindung gebracht wurden, wie schlechte Leistung, hohe Speicherauslastung, Langsamkeit bei der Auflösung von Abhängigkeiten. DNF kann als die nächste Hauptversion des YUM-Paketmanagers bezeichnet werden. Die derzeit stabilste Version von DNF ist Version 2.6.3
In diesem Tutorial werden wir die DNF-Befehle besprechen, die für die Paketverwaltung verwendet werden. Dieser Artikel dient als Spickzettel für DNF. Fangen wir also an …..
DNF-Befehl
Die Syntax für die Verwendung des DNF-Befehls ist der Verwendung von YUM ziemlich ähnlich, sodass Sie viele Ähnlichkeiten zwischen den beiden Befehlen feststellen werden.
Beispiel:1) Aktivierte Repositories auflisten
Führen Sie
aus, um alle aktivierten Repositories auf dem System aufzulisten[[email protected] ~]$ sudo dnf repolist [sudo] password for linuxtechi: repo id repo name status *epel Extra Packages for Enterprise Linux 7 - x86_64 11,989 *fedora Fedora 26 - x86_64 53,912 *updates Fedora 26 - x86_64 - Updates 9,405 virtualbox Fedora 26 - x86_64 - VirtualBox 10 [[email protected] ~]$
Beispiel:2) Alle Repositories auflisten (sowohl aktiviert als auch deaktiviert)
Wenn wir alle Repositories sehen müssen, die entweder aktiviert oder deaktiviert sind, müssen wir Folgendes ausführen
[[email protected] ~]$ sudo dnf repolist all
Beispiel:3) Installieren eines Pakets
Wie yum verwenden wir "install". ‘ Option gefolgt von Paketname mit dnf zur Installation, Nehmen wir an, wir möchten das Webserverpaket (httpd) installieren
[[email protected] ~]$ sudo dnf install httpd
Beispiel:4) Entfernen eines Pakets
Um ein Paket zu entfernen, führen Sie im Terminal Folgendes aus:
[[email protected] ~]$ sudo dnf remove httpd or [[email protected] ~]$ sudo dnf erase httpd
Die Ausgabe des obigen Befehls würde in etwa so aussehen:
Beispiel:5) Aktualisieren Sie ein Paket
Führen Sie den folgenden Befehl aus, um ein einzelnes Paket auf dem System zu aktualisieren,
Syntax:dnf update {Paketname}
[[email protected] ~]$ sudo dnf update filezilla
Beispiel:6) Auf vollständige Systemaktualisierung prüfen
Führen Sie für eine systemweite Update-Prüfung den folgenden Befehl aus,
[[email protected] ~]$ sudo dnf check-update
Beispiel:7) Aktualisieren Sie alle Systempakete
Um alle Systempakete zu aktualisieren, führen Sie Folgendes aus
[[email protected] ~]$ sudo dnf upgrade
Beispiel:8) Alle Gruppenpakete auflisten
Verwenden Sie Folgendes, um alle Gruppenpakete aufzulisten
[[email protected] ~]$ sudo dnf grouplist Last metadata expiration check: 1:40:19 ago on Tue 10 Oct 2017 10:08:39 AM IST. Available Environment Groups: Fedora Custom Operating System Minimal Install Fedora Server Edition Fedora Workstation Fedora Cloud Server KDE Plasma Workspaces Xfce Desktop LXDE Desktop Hawaii Desktop LXQt Desktop Cinnamon Desktop MATE Desktop Sugar Desktop Environment Development and Creative Workstation Web Server Infrastructure Server Basic Desktop Installed Groups: LibreOffice Available Groups: 3D Printing Administration Tools Ansible node Audio Production …………………
Beispiel:9) Gruppenpakete installieren
Ähnliche Pakete sind gruppiert und können mit einem einzigen Befehl installiert werden, anstatt separate Befehle zu verwenden. Um eine Gruppe zu installieren, führen Sie
aus[[email protected] ~]$ sudo dnf groupinstall "Development Tools"
Beispiel:10) Entfernen von Gruppenpaketen
Um eine komplette Gruppe von Paketen aus dem System zu entfernen, führen Sie den folgenden dnf-Befehl aus,
Syntax: dnf groupremove „group_name“
[[email protected] ~]$ sudo dnf groupremove "Development Tools"
Wir können auch „groupupdate“ zum Aktualisieren der Gruppenpakete verwenden.
Beispiel:11) Suche nach Paketen
Um in den Repositories nach einem bestimmten Paket zu suchen, führen Sie
ausSyntax:dnf search {package_name}
Nehmen wir an, ich möchte das net-tools-Paket durchsuchen
[[email protected] ~]$ sudo dnf search net-tools =========== Name Exactly Matched: net-tools ========= net-tools.x86_64 : Basic networking tools [[email protected] ~]$
Beispiel:12) Laden Sie ein Paket herunter (nicht installieren)
Es kann einige Szenarien geben, in denen wir die Pakete herunterladen müssen, aber nicht installieren möchten. Verwenden Sie den folgenden Befehl, um Pakete wie Samba herunterzuladen
Syntax: dnf download Paketname
[[email protected] ~]$ sudo dnf download samba samba-4.6.8-0.fc26.x86_64.rpm 139 kB/s | 636 kB 00:04 [[email protected] ~]$
Beispiel:13) Alle verfügbaren Pakete anzeigen
Um eine Liste aller verfügbaren Pakete aus den Repositories zu erhalten, öffnen Sie das Terminal und führen Sie es unter dem Befehl dnf aus
[[email protected] ~]$ dnf list available | more
Beispiel:14) Nur installierte Pakete anzeigen
Wenn wir jetzt nur eine Liste der installierten Pakete auf dem System benötigen, können wir sie erhalten, indem wir den folgenden Befehl ausführen,
[[email protected] ~]$ dnf list installed
Beispiel:15) Alle installierten sowie verfügbaren Pakete anzeigen
Um eine Liste aller Pakete zu erhalten, d. h. installierte und verfügbare, führen Sie den folgenden Befehl aus
[[email protected] ~]$ dnf list
Beispiel:16) Repository für die Installation aktivieren
Um ein bestimmtes Repository zum Installieren eines Pakets zu verwenden, führen Sie
aus[[email protected] ~]$ sudo dnf install --enablerepo=epel mysql Extra Packages for Enterprise Linux 7 - x86_64 3.9 MB/s | 13 MB 00:03 Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================= Installing: mariadb x86_64 3:10.1.26-2.fc26 updates 6.4 M Installing dependencies: mariadb-common x86_64 3:10.1.26-2.fc26 updates 100 k mariadb-config x86_64 3:10.1.26-2.fc26 updates 33 k mariadb-libs x86_64 3:10.1.26-2.fc26 updates 663 k Transaction Summary ================================================================================= Total download size: 7.2 M Installed size: 44 M Is this ok [y/N]: y
Beispiel:17) Überprüfen Sie, welches Paket die gewünschte Funktion bereitstellt
Wenn wir wissen möchten, welches Paket für eine bestimmte Funktionalität verantwortlich ist, wie wir den Paketnamen kennen müssen, der mit 'crontab' oder einem anderen Befehl verknüpft ist, können wir den dnf-Befehl 'provides ‘ Option wie folgt,
[[email protected] ~]$ sudo dnf provides crontab cronie-1.5.1-5.fc26.x86_64 : Cron daemon for executing programs at set times Repo : @System cronie-1.5.1-5.fc26.x86_64 : Cron daemon for executing programs at set times Repo : fedora [[email protected] ~]$
Dasselbe kann mit einer Datei gemacht werden, wir können denselben Befehl auch mit einem Dateispeicherort verwenden, um den Paketnamen zu erhalten, mit dem die Datei verknüpft ist,
[[email protected]]$ sudo dnf provides /var/www/html
Beispiel:18) Paketinformationen anzeigen
Um Details zu einem bestimmten Paket zu erhalten, führen Sie
aus[[email protected] ~]$ dnf info cronie Installed Packages Name : cronie Version : 1.5.1 Release : 5.fc26 Arch : x86_64 Size : 236 k Source : cronie-1.5.1-5.fc26.src.rpm Repo : @System From repo : anaconda Summary : Cron daemon for executing programs at set times URL : https://fedorahosted.org/cronie License : MIT and BSD and ISC and GPLv2+ Description : Cronie contains the standard UNIX daemon crond that runs / specified programs at : scheduled times and related tools. It is a fork of the / original vixie-cron and : has security and configuration enhancements like the / ability to use pam and : SELinux. [[email protected] ~]$
Beispiel:19) Erstellen eines Caches
Obwohl der Cache im Laufe der Zeit automatisch erstellt wird, haben wir auch die Möglichkeit, den Cache manuell zu erstellen, damit die zukünftigen Aktionen schnell und schnell abgeschlossen sind. Um einen Cache manuell zu erstellen, führen Sie
aus[[email protected] ~]$ sudo time dnf makecache Last metadata expiration check: 0:04:41 ago on Thu 12 Oct 2017 09:53:00 AM IST. Metadata cache created. 0.86user 0.12system 0:01.04elapsed 95%CPU (0avgtext+0avgdata 106872maxresident)k 0inputs+1192outputs (0major+39606minor)pagefaults 0swaps [[email protected] ~]$
Beispiel:20) Einen Cache löschen
Führen Sie die folgenden Befehle aus, um alle zwischengespeicherten dnf-Daten zu löschen
[[email protected] ~]$ sudo dnf clean all 34 files removed [[email protected] ~]$
Beispiel:21) Prüfen Sie den Transaktionsverlauf
Führen Sie die folgenden Befehle aus, um alle Transaktionen zu überprüfen, die mit dem DNF-Befehl durchgeführt wurden
[[email protected] ~]$ sudo dnf history
Es erstellt eine Liste aller Transaktionen in der Reihenfolge, in der sie mit einer entsprechenden Nummer aufgetreten sind. Wir können diese Nummer verwenden, um weitere Details dieser Transaktion zu erhalten,
[[email protected] ~]$ sudo dnf history info 5
Protokolle in Bezug auf Installation, Entfernung oder Aktualisierungen werden in der Protokolldatei /var/log/dnf.log gespeichert. Mit dem Befehl dnf history können wir auch die Systemaktualisierungen rückgängig machen.
Beispiel:22) Entfernen verwaister Pakete
Verwaiste Pakete sind solche Pakete, die einmal installiert wurden, um die Abhängigkeit für ein anderes Paket zu erfüllen, aber jetzt nicht mehr benötigt werden. Um solche Pakete zu entfernen, führen Sie
aus[[email protected] ~]$ sudo dnf autoremove
Beispiel:23) Alle Pakete mit den neuesten stabilen Versionen synchronisieren
Führen Sie den folgenden Befehl aus, um alle Pakete mit den neuesten stabilen Versionen zu synchronisieren,
[[email protected] ~]$ sudo dnf distro-sync
Wenn wir nur ein einzelnes Paket synchronisieren müssen, erwähnen Sie diesen Paketnamen am Ende, sonst werden alle Pakete synchronisiert.
Beispiel:24) Installieren Sie ein Paket neu
Um ein Paket bei Bedarf neu zu installieren, führen Sie den folgenden Befehl aus,
[[email protected] ~]$ sudo dnf reinstall postfix Dependencies resolved. =========================================================================== Package Arch Version Repository Size =========================================================================== Reinstalling: postfix x86_64 2:3.2.2-1.fc26 fedora 1.4 M Transaction Summary =========================================================================== Total download size: 1.4 M Is this ok [y/N]: y
Beispiel:25) Upgrade auf eine bestimmte Version
Mit DNF ist es auch möglich, das RPM-Paket auf eine bestimmte Version zu aktualisieren, um dies zu erreichen, führen Sie den folgenden Befehl aus,
[[email protected] ~]$ sudo dnf upgrade-to httpd-2.4.27-3.fc26
Beispiel:26) Holen Sie sich eine Liste aller DNF-Befehle und -Optionen
Um eine Liste aller verfügbaren Optionen zu erhalten, die mit DNF verwendet werden können, führen Sie
aus[[email protected] ~]$ dnf help
Dies war unser vollständiges Tutorial für den DNF-Paketmanager mit Beispielen. Bitte hinterlassen Sie Fragen oder Fragen zu diesem Tutorial in den Kommentaren unten.