Wie man DNF auf Rocky Linux verwendet: Pakete, Repositories und Updates
DNF (Dandified YUM) ist das Standardwerkzeug auf Rocky Linux zum Suchen, Installieren, Aktualisieren und Entfernen von Paketen sowie zum Verwalten des Transaktionsverlaufs. Bevor ein Befehl ausgeführt wird, ist es wichtig, das Zielpaket und die Liste der Abhängigkeitsänderungen zu überprüfen und auf Produktionsservern das Repository und den Aktualisierungsbereich vor der Anwendung von Änderungen zu klären.
DNF-Version und Grundformat
Da die DNF-Implementierung und das Ausgabeformat je nach Rocky Linux-Version unterschiedlich sein können, sollte zuerst die Version überprüft werden. Das typische Befehlsformat ist dnf [options] command [target].
dnf --version
dnf --help
Abfragebefehle können als normaler Benutzer ausgeführt werden, aber das Installieren, Entfernen oder Aktualisieren von Paketen, das das System verändert, erfordert Administratorrechte.
Nach Paketen suchen und Informationen prüfen
Suchen nach Name und Beschreibung
dnf search nginx
dnf info nginx
search sucht im Namen und in der Beschreibung, und info zeigt Version, Architektur, Repository und Beschreibung an. Wenn es mehrere Versionen oder Architekturen mit demselben Namen gibt, prüfen Sie die Ergebnisse sorgfältig.
Pakete finden, die Dateien oder Befehle bereitstellen
dnf provides '*/semanage'
dnf provides /usr/bin/rsync
Wenn Sie den genauen Pfad nicht kennen, können Sie ein Platzhalterzeichen verwenden. Es ist sicherer, das Muster in Anführungszeichen zu setzen, damit es nicht zuerst von der Shell erweitert wird.
Pakete installieren und neu installieren
sudo dnf install nginx
sudo dnf reinstall nginx
install löst die erforderlichen Abhängigkeiten zusammen mit dem Paket. reinstall installiert dieselbe Version erneut, wenn die Paketdatei beschädigt ist, aber es ist kein Befehl, der von einem Administrator geänderte Konfigurationsdateien zwangsweise zurücksetzt.
Lokale RPM-Dateien können auch mit DNF installiert werden, um Abhängigkeiten aus dem Repository aufzulösen.
sudo dnf install ./example-package.rpm
Prüfen und Anwenden von Updates
Verfügbare Updates abfragen
dnf check-update
dnf updateinfo list
dnf check-update kann den Exit-Code 100 zurückgeben, wenn Updates verfügbar sind. Wenn ein Shell-Skript dies nicht von einem normalen Fehlercode unterscheidet, könnte es fälschlicherweise den normalen Zustand "Updates verfügbar" als Fehler interpretieren.
Alle oder bestimmte Pakete aktualisieren
sudo dnf upgrade
sudo dnf upgrade openssl
Kernel-, C-Bibliotheks- und Core-Service-Updates können einen Neustart oder einen Service-Neustart erfordern. In Produktionsumgebungen sollten die Änderungsdetails, die Wartungszeit und die Rollback-Methoden im Voraus vorbereitet werden.
Paketentfernung und Bereinigung unnötiger Abhängigkeiten
sudo dnf remove nginx
sudo dnf autoremove --assumeno
remove kann nicht nur das Zielpaket, sondern auch Abhängigkeitspakete vorschlagen, die nicht mehr als notwendig erachtet werden. Achten Sie darauf, die Löschliste auf dem Bestätigungsbildschirm zu lesen. autoremove --assumeno ist nützlich, um Cleanup-Kandidaten zu überprüfen, ohne sie tatsächlich zu löschen.
Verwaltung von Installationslisten und Repositories
Anzeigen von Paketlisten
dnf list --installed
dnf list --available
dnf list --upgrades
Überprüfen des Repository-Status
dnf repolist
dnf repolist --all
dnf repository-packages appstream list --available
Beim Aktivieren zusätzlicher Repositories sollten Sie den Anbieter, den Signaturschlüssel, den Unterstützungsbereich und die Möglichkeit, Pakete aus den Standard-Repositories zu ersetzen, überprüfen. Zur Fehlerbehebung können Sie wählen, ein bestimmtes Repository nur einmal auszuschließen oder zu aktivieren.
sudo dnf --disablerepo='example-repo' upgrade
sudo dnf --enablerepo='example-repo' install package-name
Überprüfung der Transaktionshistorie und Überprüfung des Rollbacks
dnf history
dnf history info transaction_ID
sudo dnf history undo transaction_ID
`history undo` kann fehlschlagen, wenn das Repository die erforderliche vorherige Version nicht mehr bereitstellt oder wenn sich die Abhängigkeiten nach der Transaktion geändert haben. Es handelt sich nicht um eine Sicherungsfunktion, die Datenbanken, Konfigurationen oder Anwendungsdaten wiederherstellt. Daher müssen Sie eine separate betriebliche Rollback-Methode vorbereiten.
Cache- und Metadatenverwaltung
| Befehl | Zweck |
|---|---|
dnf makecache |
Lädt Metadaten von einem aktiven Repository vorab herunter. |
dnf clean metadata |
Löscht gespeicherte Repository-Metadaten. |
dnf clean packages |
Löscht Paketdateien, die im Cache verbleiben. |
dnf clean all |
Reinigt den DNF-Cache, einschließlich Metadaten und Paketen. |
Es ist nicht nötig, jedes Mal, wenn ein Repository-Fehler auftritt, routinemäßig `clean all` auszuführen. Zuerst hilft es, das Netzwerk, die Systemzeit, die Repository-URL und GPG-Signaturfehlermeldungen zu überprüfen, um die Ursache zu identifizieren.
Zusammenfassung der häufig verwendeten Befehle
| Zweck | Befehl |
|---|---|
| Suchen | dnf search keyword |
| Informationen überprüfen | dnf info package_name |
| Installieren | sudo dnf install package_name |
| Aktualisieren | sudo dnf upgrade |
| Löschen | sudo dnf remove package-name |
| Datei bereitstellendes Paket | dnf provides '*/filename' |
| Transaktionsverlauf | dnf history |
| Repository-Liste | dnf repolist --all |
Sichere Bedienung
- Bevor die automatische Bestätigungsoption verwendet wird, überprüft eine Person zunächst die von DNF vorgeschlagene Installations-/Entfernungsliste.
- Für wichtige Server Daten und Einstellungen vor dem Update sichern und das Wiederherstellungsverfahren testen.
- Überprüfen Sie die Quelle der Repository-Dateien und GPG-Schlüssel, und halten Sie unnötige externe Repositories nicht ständig aktiviert.
- Bei mehreren Servern lassen sich Versionsunterschiede verringern, indem sie dieselben Repository-Snapshots oder verifizierte automatisierte Verfahren verwenden.
Referenzdokumente
Detaillierte Optionen und Exit-Status für jeden Befehl finden Sie in der offiziellen DNF-Befehlsreferenzdokumentation.




