Rocky Linux / Installierte Pakete mit DNF und RPM prüfen
Die auf Rocky Linux installierten Pakete können mit dnf und rpm überprüft werden. In der Regel wird dnf verwendet, da es Repository-Informationen und Abhängigkeiten zusammen anzeigt, während rpm praktisch ist, um die genaue RPM-Datenbank abzufragen oder den Eigentümer von Dateien zu überprüfen.
Überprüfen Sie die vollständige Liste der installierten Pakete
DNF (Dandified YUM) ist der Paketmanager für Rocky Linux. Der folgende Befehl zeigt die Namen der installierten Pakete, Versionen und Installationsquellen in einem Tabellenformat an.
dnf list --installed
Um die installierten Pakete direkt aus der RPM-Datenbank aufzulisten, verwenden Sie den folgenden Befehl.
rpm -qa | sort
Wenn die Ergebnisse lang sind, können Sie sie mit less paginieren oder nur die benötigten Namen mit grep finden.
rpm -qa | sort | less
rpm -qa | grep -i postgresql
Überprüfen Sie den Installationsstatus und Informationen für ein bestimmtes Paket
Wenn Sie den Namen kennen
rpm -q gibt den genauen Namen und die Version aus, wenn das Paket installiert ist, und wenn es nicht installiert ist, wird eine Fehlermeldung und ein nicht null Rückgabestatus ausgegeben.
rpm -q curl
dnf info --installed curl
Beim Suchen nach einem Befehl oder dem Paket einer Datei
Sie können überprüfen, aus welchem Paket eine vorhandene Datei installiert wurde, mit rpm -qf. Bei Befehlen mit symbolischen Links ist es genauer, zuerst den tatsächlichen Pfad mit readlink -f zu finden und dann abzufragen.
rpm -qf /usr/bin/curl
rpm -qf "$(readlink -f "$(command -v python3)")"
Um Repository-Pakete zu finden, die Befehle oder Dateien bereitstellen, die noch nicht installiert sind, verwenden Sie dnf provides.
dnf provides '*/semanage'
Version, Installationszeit und Quelle im Detail anzeigen
Mit dem Abfrageformat von RPM können Sie nur die benötigten Elemente in der gewünschten Reihenfolge ausgeben. Das folgende Beispiel trennt Paketname, Epoch/Version/Release und Architektur durch Tabs.
rpm -qa --qf '%{NAME}\t%{EPOCHNUM}:%{VERSION}-%{RELEASE}\t%{ARCH}\n' | sort
Die Reihenfolge der kürzlich installierten Pakete kann wie folgt überprüft werden.
rpm -qa --last | head -n 30
| Zweck der Überprüfung | Empfohlene Befehle |
|---|---|
| Vollständige Liste der installierten Pakete | dnf list --installed oder rpm -qa |
| Ein bestimmtes Paket überprüfen | rpm -q package-name |
| Paketdetails | dnf info --installed package-name |
| Paket, das eine Datei besitzt | rpm -qf file-path |
| Nach paketbereitstellenden Dateien suchen | dnf provides '*/filename' |
| Letzte Installationsreihenfolge | rpm -qa --last |
Direkt installierte Pakete und Änderungshistorie prüfen
Vom Benutzer installierte Elemente
Pakete, die von DNF auf Wunsch des Benutzers als installiert aufgezeichnet wurden, können mit dem folgenden Befehl angezeigt werden. Das Ausschließen von automatisch als Abhängigkeiten installierten Elementen ist nützlich, um den Zweck des Servers zu bestimmen oder Elemente zur Bereinigung zu überprüfen.
dnf history userinstalled
Wenn jedoch in der Vergangenheit RPM-Dateien direkt installiert wurden oder das System migriert wurde, können die Aufzeichnungen unvollständig sein. Löschen Sie Pakete nicht automatisch nur aufgrund dieses Ergebnisses; prüfen Sie auch die Dienste und Abhängigkeiten.
DNF-Transaktionshistorie
Die Historie von Installations-, Aktualisierungs- und Löschvorgängen sowie die detaillierten Informationen zu bestimmten Transaktionen können wie folgt überprüft werden.
dnf history
dnf history info transaction_ID
Installationsdateien und Konfigurationsänderungen überprüfen
rpm -V vergleicht die zum Zeitpunkt der Installation aufgezeichneten Informationen mit der aktuellen Dateigröße, Prüfsumme, Berechtigungen, Eigentümer und mehr. Wenn nichts angezeigt wird, bedeutet dies, dass keine Unterschiede bei den überprüften Punkten gefunden wurden.
sudo rpm -V openssh-server
Konfigurationsdateien unter /etc werden als unterschiedlich markiert, selbst wenn sie bewusst vom Administrator geändert wurden. Nicht sofort nach Ansicht der Ergebnisse wiederherstellen; stattdessen mit den Change-Management-Aufzeichnungen und Backups vergleichen.
Eine Liste der Serverpakete in einer Datei führen
Zur Fehlersuche oder Migration ist es hilfreich, Name, Version und Architektur als Text zu speichern, damit Sie diese leicht zwischen zwei Zeitpunkten oder zwei Servern vergleichen können.
rpm -qa --qf '%{NAME}\t%{EPOCHNUM}:%{VERSION}-%{RELEASE}\t%{ARCH}\n' | sort > installed-packages.tsv
Diese Liste ist eine Aufzeichnung des Zustands zu diesem Zeitpunkt und kein Installationsskript, das so auf einem anderen Server ausgeführt werden kann. Wenn die Hauptversion von Rocky Linux, die aktiven Repositories und Modulströme unterschiedlich sind, erhalten Sie möglicherweise nicht dieselbe Version, daher müssen Wiederherstellungsverfahren separat getestet werden.
Häufig auftretende Probleme
- Wenn angezeigt wird, dass der Befehl nicht existiert: Einige DNF-Plugins können in einer Minimalinstallation fehlen. Überprüfen Sie zunächst das Paket, das den Befehl bereitstellt.
- Wenn der Name anders ist als erwartet: Der ausführbare Name und der Paketname müssen nicht identisch sein, verwenden Sie daher
rpm -qfoderdnf provides. - Wenn die Listen unterschiedlich erscheinen:
dnfkombiniert und zeigt Repository-Metadaten an, währendrpmdie lokale RPM-Datenbank direkt abfragt. Wählen Sie das Werkzeug entsprechend Ihrem Vergleichszweck. - Wenn Sie auf einen Datenbankfehler stoßen: Prüfen Sie zunächst, ob eine andere Paketoperation läuft, und löschen Sie nicht willkürlich Sperrdateien oder die Datenbank.




