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, „Die wichtigsten RPM-Abfrageoptionen“.
Tabelle 6.1. Die wichtigsten RPM-Abfrageoptionen
| Paketinformation |
| Dateiliste |
| Abfrage nach Paket, das die Datei |
| Dateiliste mit Statusinformation (impliziert |
| Nur Dokumentationsdateien auflisten (impliziert |
| Nur Konfigurationsdateien auflisten (impliziert |
| Dateiliste mit vollständigen Details (mit |
| Funktionen des Pakets auflisten, die ein anderes Paket mit |
| Fähigkeiten, die das Paket benötigt |
| Installationsskripten (preinstall, postinstall, uninstall) |
Beispielsweise gibt der Befehl rpm -q -i wget die in Beispiel 6.1, „rpm -q -i wget“ 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, „Skript für die Suche nach Paketen“ 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
| MD5-Prüfsumme |
| Dateigröße |
| Symbolischer Link |
| Änderungszeit |
| Major- und Minor-Gerätenummern |
| Eigentümer |
| Gruppe |
| 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
.