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

DNF-Befehlsbeispiele für Anfänger

Dieses Tutorial erklärt alle grundlegenden Befehle für diejenigen, die wissen möchten, wie man den DNF-Paketmanager verwendet. Wie Sie vielleicht bereits wissen, ist DNF die nächste Generation von YUM und seit Fedora 22 der Standard-Paketmanager. Es soll der Ersatz für YUM in RPM-basierten Systemen wie RHEL, CentOS sein. Im Vergleich zu YUM hat DNF einige bedeutende Vorteile, wie z. B. Unterstützung für mehrere Repositories, Paketgruppenunterstützung, schnellere Auflösungsgeschwindigkeit von Abhängigkeiten und verbraucht weniger Speicher, läuft sowohl in Python 2 als auch in Python 3, solide API-Dokumentation, Kompatibilität mit YUM und vielem mehr.

Empfohlene Lektüre:

  • Erste Schritte mit Pacman

DNF-Befehlsbeispiele für Anfänger

Ab Fedora 22 wurde yum durch DNF ersetzt, sodass Sie es nicht installieren müssen, wenn Sie Fedora verwenden. Unter CentOS 7 und RHEL 7 können Sie es wie im untenstehenden Tutorial beschrieben installieren.

  • So installieren Sie DNF unter CentOS 7

Die Verwendung von DNF ist YUM sehr ähnlich. Alle hier bereitgestellten Befehle wurden auf CentOS 7 Minimal Server Edition mit root getestet Benutzer.

1. Hilfe bekommen

Führen Sie Folgendes aus, um alle Hauptbefehle, Plugin-Befehle und Optionen aufzulisten:

# dnf help

Um Hilfe zu einem bestimmten Befehl zu erhalten, z. B. „install“, führen Sie Folgendes aus:

# dnf help install

Um die aktuell installierte DNF-Version zu erfahren, führen Sie Folgendes aus:

# dnf --version

2. Pakete verwalten

Dieser Abschnitt erläutert das Installieren, Aktualisieren, Auflisten, Suchen, Herunterladen, Neuinstallieren und Entfernen von Paketen.

Paketinformationen abrufen

Um die Details eines installierten oder nicht installierten Pakets abzurufen, führen Sie Folgendes aus:

# dnf info vim

Pakete installieren

Um ein neues Paket zu installieren, zum Beispiel vim , ausführen:

# dnf install vim

Wir können auch mehrere Pakete wie unten installieren.

# dnf install vim nano emacs

Sie müssen "y" eingeben, um die Installation fortzusetzen. Wenn Sie das nicht jedes Mal tun möchten, können Sie die Option "y" in die Befehle für die automatische Bestätigung aufnehmen.

# dnf install vim nano emacs -y

Dies wird nicht auf die Benutzerbestätigung warten. Stattdessen werden einfach alle Pakete automatisch installiert.

Pakete auflisten

Um alle verfügbaren und installierten Pakete aufzulisten:

# dnf list

Um nur alle installierten Pakete aufzulisten, verwenden wir:

# dnf list installed

Um nur die verfügbaren Pakete aufzulisten:

# dnf list available

Pakete aktualisieren

Um nach allen verfügbaren Updates zu suchen, gehen Sie wie folgt vor:

# dnf check-update

Oder,

# dnf list updates

Um ein einzelnes Paket (z. B. bash) zu aktualisieren, führen Sie Folgendes aus:

# dnf update bash

Führen Sie Folgendes aus, um anzuzeigen, ob ein Update für ein installiertes Paket vorhanden ist:

# dnf list yum.noarch 
Using metadata from Sat Feb 10 14:47:22 2018
Installed Packages
yum.noarch 3.4.3-150.el7.centos @System
Available Packages
yum.noarch 3.4.3-154.el7.centos.1 update

Dieser Befehl zeigt die aktuell installierte Version und das verfügbare Update aus dem Repository an. In der obigen Ausgabe @system gibt die installierte Version und das Update an gibt das verfügbare Update aus dem Repository an.

So aktualisieren Sie mehrere Pakete:

# dnf update package1 package2

Übergeben Sie die Option "y" für die automatische Bestätigung.

# dnf update package1 package2 -y

Führen Sie zum Aktualisieren/Upgrade aller Pakete Folgendes aus:

# dnf update
# dnf upgrade

So synchronisieren Sie installierte Pakete mit den neuesten verfügbaren Versionen:

# dnf distro-sync

Pakete suchen

Um ein Paket aus dem Repository zu suchen, führen Sie Folgendes aus:

# dnf search vim

Dieser Befehl listet alle Pakete auf, die mit dem Wort "vim" übereinstimmen.

Pakete herunterladen

Manchmal möchten Sie vielleicht ein Paket herunterladen, aber nicht sofort installieren. Führen Sie in diesem Fall Folgendes aus:

# dnf download vim

Dieser Befehl lädt das vim-enhanced-xx.xx.x.rpm-Paket herunter, installiert es aber nicht.

Um das heruntergeladene Paket zu installieren, führen Sie Folgendes aus:

# dnf install vim-enhanced-7.4.160-2.el7.x86_64.rpm

Alle anderen erforderlichen Abhängigkeiten werden aus dem Repository heruntergeladen und installiert.

Pakete herabstufen

Um ein zuvor aktualisiertes Paket herunterzustufen, führen Sie Folgendes aus:

# dnf downgrade bash

Pakete neu installieren

Haben Sie Probleme mit einem bereits installierten Paket? Keine Bange! Sie können es jederzeit neu installieren.

Um ein Paket neu zu installieren, verwenden Sie:

# dnf reinstall vim

Pakete entfernen

Um ein Paket (z. B. vim) aus dem System zu entfernen, führen Sie Folgendes aus:

# dnf remove vim

Sie können auch die Option "Löschen" wie unten verwenden.

# dnf erase vim

3. Paketgruppen

Eine Paketgruppe ist eine Sammlung von Paketen, die einem gemeinsamen Zweck dienen, beispielsweise „Entwicklungstools“ oder „Webserver“. Wenn Sie eine Paketgruppe installieren, werden alle abhängigen Pakete heruntergeladen und installiert. Durch das Installieren von Gruppen sparen Sie viel Zeit.

Paketgruppen installieren

Um alle verfügbaren Paketgruppen aufzulisten, führen Sie Folgendes aus:

# dnf grouplist

Um eine Paketgruppe zu installieren, zum Beispiel „Entwicklungstools“, führen Sie Folgendes aus:

# dnf groupinstall 'Development Tools'

Dieser Befehl installiert alle Pakete, die zum Einrichten einer Entwicklungsumgebung erforderlich sind.

Paketgruppen aktualisieren

Um eine Paketgruppe zu aktualisieren, führen Sie Folgendes aus:

# dnf groupupdate 'Development Tools'

Paketgruppen entfernen

Führen Sie zum Entfernen einer Paketgruppe Folgendes aus:

# dnf groupremove 'Development Tools'

4. Arbeiten mit Repositories

Installierte Repositories auflisten

Standardmäßig werden alle Repositories im Verzeichnis /etc/yum.repos.d/ in CentOS/RHEL hinzugefügt. Sie können installierte Repositories mit dem Befehl auflisten:

# dnf repolist

Der obige Befehl zeigt nur die aktivierten Repositories an. Führen Sie Folgendes aus, um alle Repositories (sowohl aktivierte als auch deaktivierte) anzuzeigen:

# dnf repolist all

Repositories hinzufügen

Sie können ein Repository hinzufügen, indem Sie manuell eine package.repo-Datei im Verzeichnis /etc/yum.repos.d/ erstellen. DNF macht es jedoch noch einfacher.

Um ein neues Repository hinzuzufügen, führen Sie Folgendes aus:

# dnf config-manager --add-repo repository_url

Beispiel:

# dnf config-manager --add-repo http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/

Um das neu hinzugefügte Repository anzuzeigen, tun wir:

# dnf repolist
created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/ 115 kB/s | 3.5 MB 00:31 
Using metadata from Sat Feb 10 14:47:22 2018
repo id repo name status
base CentOS-7 - Base 9,591
epel Extra Packages for Enterprise Linux 7 - x86_64 12,278
extras CentOS-7 - Extras 388
springdale.math.ias.edu_data_puias_unsupported_7_x86_64_ created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupporte 2,760
updates CentOS-7 - Updates

So zeigen Sie nur die .repo-Datei an:

# cat /etc/yum.repos.d/springdale.math.ias.edu_data_puias_unsupported_7_x86_64_.repo 
[springdale.math.ias.edu_data_puias_unsupported_7_x86_64_]
name=created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/
baseurl=http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/
enabled=1

Repositories aktivieren

Um ein Repository zu aktivieren, verwenden Sie:

# dnf config-manager --set-enabled <repo-id>

Beispiel:

# dnf config-manager --set-enabled epel

Wir können dies überprüfen, indem wir den folgenden Befehl ausführen, um nur die aktivierten Repositories anzuzeigen.

# dnf repolist

Außerdem können wir die Aktivierungs- und Installationsoptionen wie unten kombinieren.

# dnf config-manager --set-enabled epel install zsh

Der obige Befehl aktiviert das EPEL-Repository und installiert das zsh-Paket.

Repositories deaktivieren

Um ein Repository, zum Beispiel EPEL, zu deaktivieren, verwenden wir:

# dnf config-manager --set-disabled epel

Wir können auch Aktivierungs- und Deaktivierungsoptionen wie unten kombinieren.

# dnf --enablerepo=epel --disablerepo=updates

Der obige Befehl aktiviert das EPEL-Repository und deaktiviert das Update-Repository.

5. Herausfinden, was etwas bringt

Mit DNF können Sie herausfinden, welches Paket einen bestimmten Befehl oder eine bestimmte Datei bereitstellt. Wenn Sie sich nicht genau erinnern, welches Paket einen bestimmten Befehl bereitstellt, den Sie verwenden wollten, kann DNF Ihnen helfen.

Finden Sie heraus, welches Paket einen bestimmten Befehl bereitstellt

Ich vermisse den guten alten "ifconfig"-Befehl. Dieser Befehl ist veraltet und in den neueren Versionen nicht verfügbar. Um herauszufinden, welches Paket dieses Gem bereitstellt, führen Sie Folgendes aus:

# dnf provides */ifconfig

Beispielausgabe:

Using metadata from Thu Feb 8 15:52:17 2018
net-tools-2.0-0.22.20131004git.el7.x86_64 : Basic networking tools
Repo : base

Aha, ja! net-tools Paket stellt diesen Befehl bereit. Sie können dieses Paket also installieren, um den Befehl ifconfig zu verwenden.

Finden Sie heraus, welches Paket eine Datei bereitstellt

Lassen Sie uns herausfinden, welches Paket /bin/ls bereitstellt Datei. Führen Sie dazu Folgendes aus:

# dnf provides */bin/ls
Using metadata from Thu Jun 30 12:51:16 2016
coreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo : @System

coreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo : base

Wie Sie in der obigen Ausgabe sehen, coreutils Paket stellt eine /bin/ls-Datei bereit.

Lesen Sie auch:

  • So finden Sie das Paket, das eine bestimmte Datei in Linux bereitstellt

6. Arbeiten mit dem DNF-Verlauf

Mit dem Befehl "dnf history" können wir alle Aktionen anzeigen, die wir mit dem DNF-Befehl durchgeführt haben.

# dnf history
Using metadata from Sat Feb 10 14:47:22 2018
ID | Command line | Date a | Action | Altere
-------------------------------------------------------------------------------
 2 | update bash | 2018-02-10 14:55 | Update | 1 
 1 | install vim | 2018-02-10 14:51 | E, I | 33 EE

Wie Sie in der obigen Ausgabe sehen, gab es zwei Transaktionen. Ich habe ein Paket namens "vim" installiert und das Paket "bash" aktualisiert. Die neuesten Transaktionen werden ganz oben angezeigt.

Um die Details einer bestimmten Transaktion anzuzeigen, verwenden Sie ihre ID wie unten.

# dnf history list 2

Wir können auch die vollständigen Details einer bestimmten Transaktion wie unten einsehen.

# dnf history info 2
Using metadata from Sat Feb 10 14:47:22 2018
Transaction ID : 2
Begin time : Sat Feb 10 14:55:38 2018
Begin rpmdb : 360:fa7bea798a10e850b2bf800182b377443b481652
End time : 14:55:39 2018 (1 seconds)
End rpmdb : 360:dc9f6bb33b00fe1d74dd205586c0ff8c4674f8f7
User : root <root>
Return-Code : Success
Command Line : update bash
Transaction performed with:
 Installed dnf-0.6.4-2.sdl7.noarch (unknown)
 Installed rpm-4.11.3-21.el7.x86_64 (unknown)
Packages Altered:
 Upgraded bash-4.2.46-21.el7_3.x86_64 (unknown)
 Upgrade 4.2.46-29.el7_4.x86_64 @updates

Wie Sie sehen, wurde die Transaktion mit der ID 2 verwendet, um das Paket mit dem Namen "bash" zu aktualisieren. Wir können diese Transaktion jederzeit mit dem Befehl:

rückgängig machen
# dnf history undo 2

Um die vorherige „Rückgängig“-Transaktion wiederherzustellen, führen Sie einfach Folgendes aus:

# dnf history redo 2

7. Aufbau des DNF-Metadaten-Cache

Der DNF-Metadaten-Cache wird automatisch erstellt, wenn wir Pakete installieren und aktualisieren. Wir müssen es also nicht manuell erstellen. DNF hat jedoch einen eingebauten Befehl zum Erstellen des Caches, um zukünftige Transaktionen schneller zu machen.

Um einen Metadaten-Cache zu erstellen, führen Sie Folgendes aus:

# dnf makecache
Extra Packages for Enterprise Linux 7 - x86_64 155 kB/s | 15 MB 01:35 
created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/ 136 kB/s | 3.5 MB 00:26 
CentOS-7 - Base 195 kB/s | 9.5 MB 00:49 
CentOS-7 - Updates 240 kB/s | 7.9 MB 00:33 
CentOS-7 - Extras 84 kB/s | 820 kB 00:09 
Metadata cache created.

8. Aufräumen

Um unerwünschte/verwaiste Pakete zu entfernen, führen Sie Folgendes aus:

# dnf autoremove

Um alle zwischengespeicherten Pakete zu entfernen, führen Sie Folgendes aus:

# dnf clean all

Anstatt den Cache vollständig zu bereinigen, möchten Sie möglicherweise eine individuelle Bereinigung von Metadaten, dbcache, Paketen, Plugins usw. durchführen.

So entfernen Sie aus den Repository-Metadaten generierte Cache-Dateien:

# dnf clean dbcache

Dies zwingt DNF, die Cache-Dateien bei der nächsten Ausführung neu zu generieren.

Führen Sie Folgendes aus, um lokale Cookie-Dateien zu entfernen, die angeben, wann die Metadaten und Spiegellisten für jedes Repo heruntergeladen wurden:

# dnf clean expire-cache

DNF validiert den Cache für jedes Repo erneut, wenn es das nächste Mal verwendet wird.

So entfernen Sie Repository-Metadaten:

# dnf clean metadata

Mit dieser Option lädt DNF bei der nächsten Ausführung alle Metadaten herunter.

So entfernen Sie alle zwischengespeicherten Pakete vom System:

# dnf clean packages

Der folgende Befehl weist alle aktivierten Plugins an, ihre zwischengespeicherten Daten zu löschen.

# dnf clean plugins

Diese reichen gerade aus, um eine grundlegende Verwendung von DNF auf Fedora, RHEL und CentOS zu erhalten. Weitere Einzelheiten finden Sie in den Manpages.

$ man dnf

Linux
  1. 10 „rm“-Befehlsbeispiele für Linux-Anfänger

  2. Linux-CD-Befehls-Tutorial für Anfänger (8 Beispiele)

  3. Linux-Killall-Befehl für Anfänger (8 Beispiele)

  4. 7 Chmod-Befehlsbeispiele für Anfänger

  5. dnf-Befehlsbeispiele

Linux OD Command Tutorial für Anfänger (6 Beispiele)

Linux w Command Tutorial für Anfänger (5 Beispiele)

Linux ss Command Tutorial für Anfänger (8 Beispiele)

Linux-Suchbefehl für Anfänger (8 Beispiele)

16 praktische Beispiele für Linux LS-Befehle für Anfänger

Linux-mv-Befehl für Anfänger erklärt (8 Beispiele)