Auf unserem Produktionsserver wird CentOS Release 5.2 (Final) ausgeführt.
Wie kann ich alle Abhängigkeiten eines bereits installierten RPM-Pakets anzeigen / abrufen / auflisten?
Zum Beispiel: SQLite v3.3.6 ist bereits auf dem Server installiert. Ich möchte alle Abhängigkeiten dieses speziellen Pakets sehen.
Hier ist die Ausgabe des Befehls: rpm -qa |grep sqlite
python-sqlite-1.1.7-1.2.1
sqlite-3.3.6-2
sqlite-3.3.6-2
Auch, warum es 2 Einträge von sqlite-3.3.6-2
hier auflistet ?
Der
yum deplist
Befehl zeigt Ihnen, welche RPMs Abhängigkeiten sind. Hier ist ein Beispiel für dasexpect
Paket (dies funktioniert auch, wenn Sie das Paket noch nicht lokal installiert haben):quelle
Wenn Sie Ignacios Antwort folgen, können Sie die spezifische Architektur der Pakete folgendermaßen anzeigen:
In meinem Fall habe ich nur das eine i686-Paket ... aber Sie können die mit den Paketen verknüpfte Architektur auf diese Weise erhalten. Wenn Sie interessiert sind, was Sie sonst noch vom --query-Format erhalten können, geben Sie a aus
rpm --querytags
, um die Liste der verfügbaren Variablen anzuzeigen .quelle
Ich habe ein schnelles Shell-Snippet, das alle installierten Pakete mit ihren Abhängigkeiten ausgibt:
quelle
Die Leute haben bereits geantwortet mit:
rpm -q --requires PKG
yum -q deplist PKG
Ja, entweder
rpm
oderyum
funktioniert und beantwortet die Frage richtig. Der Hauptunterschied zwischenrpm
undyum
besteht darin, dass yum auch anzeigt, welche Pakete Sie installieren können, um die Bibliotheks- und / oder Dateianforderungen zu erfüllen. Wenn das Paket nicht installiert ist, ist leider keine dieser Methoden hilfreich. Da auf dem Original-Poster bereits angegeben ist, dass das zu überprüfende Paket installiert ist, ist dies ein Stummschaltungspunkt.Was wäre, wenn Sie das Paket nicht installiert hätten?
yum
kann immer noch verwendet werden, aber indirekt. Sie können eine Scheininstallation durchführen, indem Sie den Installationsvorgang abbrechen.Hier ist ein Beispiel:
quelle