Mit der Option -q initiiert rpm Abfragen und ermöglicht es, ein RPM-Archiv zu prüfen (durch Hinzufügen der Option -p) und auch die RPM-Datenbank nach installierten Paketen abzufragen. Zur Angabe der benötigten Informationsart stehen mehrere Schalter zur Verfügung. Weitere Informationen hierzu finden Sie unter Tabelle 6-1.
Tabelle 6-1 Die wichtigsten RPM-Abfrageoptionen
-i |
Paketinformation |
-l |
Dateiliste |
-f FILE |
Abfrage nach Paket, das die Datei FILE enthält. (FILE muss mit dem vollständigen Pfad angegeben werden.) |
-s |
Dateiliste mit Statusinformation (impliziert -l) |
-d |
Nur Dokumentationsdateien auflisten (impliziert -l) |
-c |
Nur Konfigurationsdateien auflisten (impliziert -l) |
--dump |
Dateiliste mit vollständigen Details (mit -l, -c oder -d benutzen) |
--provides |
Funktionen des Pakets auflisten, die ein anderes Paket mit --requires anfordern kann |
--requires, -R |
Fähigkeiten, die das Paket benötigt |
--Skripten |
Installationsskripten (preinstall, postinstall, uninstall) |
Beispielsweise gibt der Befehl rpm -q -i wget die in Beispiel 6-1 gezeigte Information aus.
Beispiel 6-1 rpm -q -i wget
Name : wget Relocations: (not relocatable) Version : 1.9.1 Vendor: SUSE LINUX AG, Nuernberg, Germany Release : 50 Build Date: Sat 02 Oct 2004 03:49:13 AM CEST Install date: Mon 11 Oct 2004 10:24:56 AM CEST Build Host: f53.suse.de Group : Productivity/Networking/Web/Utilities Source RPM: wget-1.9.1-50.src.rpm Size : 1637514 License: GPL Signature : DSA/SHA1, Sat 02 Oct 2004 03:59:56 AM CEST, Key ID a84edae89c800aca Packager : http://www.suse.de/feedback URL : http://wget.sunsite.dk/ Summary : A tool for mirroring FTP and HTTP servers Description : Wget enables you to retrieve WWW documents or FTP files from a server. This can be done in script files or via the command line. [...]
Die Option -f funktioniert nur, wenn Sie den kompletten Dateinamen mit dem vollständigen Pfad angeben. Sie können so viele Dateinamen wie nötig angeben. Beispielsweise führt der folgende Befehl
rpm -q -f /bin/rpm /usr/bin/wget
zum Ergebnis:
rpm-4.1.1-191 wget-1.9.1-50
Wenn nur ein Teil des Dateinamens bekannt ist, verwenden Sie ein Shell-Skript, wie in Beispiel 6-2 gezeigt. Übergeben Sie den partiellen Dateinamen als Parameter beim Aufruf des Skripts.
Beispiel 6-2 Skript für die Suche nach Paketen
#! /bin/sh for i in $(rpm -q -a -l | grep $1); do echo "\"$i\" is in package:" rpm -q -f $i echo "" done
Der Befehl rpm -q --changelog rpm zeigt eine detaillierte Liste der Änderungsinformation zu einem bestimmten Paket nach Datum sortiert. Dieses Beispiel zeigt Informationen zum Paket rpm.
Mithilfe der installierten RPM-Datenbank sind Überprüfungen möglich. Initiieren Sie die Überprüfungen mit -V, -y oder --verify. Mit dieser Option zeigt rpm alle Dateien in einem Paket an, die seit der Installation geändert wurden. rpm verwendet acht verschiedene Zeichen als Hinweis auf die folgenden Änderungen:
Tabelle 6-2 RPM-Überprüfungsoptionen
5 |
MD5-Prüfsumme |
S |
Dateigröße |
L |
Symbolischer Link |
T |
Änderungszeit |
D |
Major- und Minor-Gerätenummern |
U |
Eigentümer |
G |
Gruppe |
M |
Modus (Berechtigungen und Dateityp) |
Bei Konfigurationsdateien wird der Buchstabe c ausgegeben. Beispielsweise für Änderungen an /etc/wgetrc (wget):
rpm -V wget S.5....T c /etc/wgetrc
Die Dateien der RPM-Datenbank werden in /var/lib/rpm abgelegt. Wenn die Partition /usr eine Größe von 1 GB aufweist, kann diese Datenbank beinahe 30 MB belegen, insbesondere nach einem kompletten Update. Wenn die Datenbank viel größer ist als erwartet, kann es nützlich sein, die Datenbank mit der Option --rebuilddb neu zu erstellen. Legen Sie zuvor eine Sicherungskopie der alten Datenbank an. Das cron-Skript cron.daily legt täglich (mit gzip gepackte) Kopien der Datenbank an und speichert diese unter /var/adm/backup/rpmdb. Die Anzahl der Kopien wird durch die Variable MAX_RPMDB_BACKUPS (Standard: 5) in /etc/sysconfig/backup gesteuert. Die Größe einer einzelnen Sicherungskopie beträgt ungefähr 1 MB für 1 GB in /usr.