RPM

Aus Fedorawiki.de

(Weitergeleitet von Rpm)
Wechseln zu: Navigation, Suche

RPM (Red Hat Package Manager) ist ein Paketmanagementsystem für die Shell, welches von Red Hat entwickelt wurde. Es unterstützt ein effektives Versionsmanagement, Abhängigkeiten und eine saubere und vollständige Deinstallation von Red Hat Paketen (RP). Das Herzstück von RPM bildet seine Datenbank.


Inhaltsverzeichnis

Typische Anwendungsfälle

RPM unterstützt 5 Anwendungsmöglichkeiten:

Paketeinrichtung, -entfernung, -abfrage, -prüfung und -versionsmanipulation

Wenn bei einer rpm-Aktion ein rpm-Paket als Argument angegeben werden soll, kann rpm auch mit URLs umgehen - statt foor-barr.rpm geht also auch http://www.xyz.de/foo-bar.rpm.

Query ob ein Paket installiert ist:

rpm -q paketname

Installation eines oder mehrerer Pakete:

rpm -ihv paketname1-<version>.rpm paketname2-<version>.rpm

Aktualisierung eines oder mehrerer Pakete:

rpm -Uhv paketname1-<version>.rpm paketname2-<version>.rpm

oder

rpm -Fhv paketname1-<version>.rpm paketname2-<version>.rpm
Anmerkung Anmerkung: Die Option -F (freshens) aktualisiert nur bereits installierte Pakete, sinnvoll wenn eine der Paketdateien versehentlich gelöscht oder korrumpiert wurde. Die Option -U (upgrade) installiert ein Paket, wenn es keine ältere Version gibt. Wenn das Paket bereits vorhanden ist, wird es entfernt bevor das neue Paket eingerichtet wird.

Importieren eines GPG-Keys:

rpm --import <GPG-KEY>

Abfrage aller importierten GPG-Schlüssel:

$ rpm -qa gpg-pubkey

Deinstallieren eines oder mehrerer Pakete:

rpm -e paketname1 paketname2

Downgrade zu einer geringeren Versionsnummer:

rpm -Uhv --oldpackage paketname1-<version>.rpm 
Anmerkung Anmerkung: Es wird des öfteren anstatt --oldpackage die option --force in Beschreibungen erwähnt, jedoch dient --force auch anderen Diensten. Die Option --force ignoriert auch Abhängikeiten, was die Option --oldpackage nicht macht.

Neuinstallation eines bereits installierten Paketes (gleiche Version)

rpm -ivh --replacepkgs Paketname-<version>.rpm

RPM-Datenbank-Abfragen

Die hier aufgeführten Aktionen eignen sich zur Abfrage von der Paketinformationen, die RPM in einer Datenbank speichert. Will man aber statt dessen die entsprechenden Informationen über ein noch nicht installiertes Paket erhalten, muss die Option -p hinzugefügt werden - statt rpm -qa also rpm -qap.

Informationen zu mehreren oder allen Paketen abrufen

Paketnamen aller eingerichteten Pakete ausgeben:

rpm -qa

Anzahl aller eingerichteten Pakete ausgeben:

rpm -qa | wc -l

Liste aller Paketnamen der momentan eingerichteten Pakete abspeichern:

rpm -qa > /backup/installed-software.log


Anmerkung Anmerkung:
Mit der Liste lässt sich die Paketliste verschiedener Rechner angleichen:
$ yum -y install $(cat /backup/installed-software.log)

Paketnamen nach Einrichtungsdatum ausgeben:

rpm -qa -last

Die ersten 10 eingerichteten Pakete ausgeben:

rpm -qa -last | tail

Die letzten 10 eingerichteten Pakete ausgeben:

rpm -qa -last | head


Pakete eines bestimmten Anbieters zeigen:
Als Beispiel wir hier der Paketanbieter RPM Fusion genutzt.

$ rpm -qa --queryformat '%{Vendor} %{name}-%{version}\n' | grep RPM  | sort -k3

Gibt einer Liste alle Paketnamen und Paketversionen aus, die Ausgabe wird durch grep und sort gefiltert. Es werden nur Pakete des Anbieters RPM Fusion ausgegeben und die Ausgabe der Paketnamen ist alphabetisch sortiert.

Die 10 größten Pakete anzeigen:

$ rpm -qa --queryformat '%10{size} %{name}-%{version}\n' | sort -n | tail

Informationen zu einzelnen Paketen abrufen

Informationen über ein installiertes Paket anzeigen lassen:

rpm -qi Paketname

Nach einem Paket suchen:

rpm -qa | grep Paketname 

Dateiliste eines installierten Paketes anzeigen:

rpm -ql Paketname

Nachfrage zu welchem Paket eine Datei gehört:

rpm -qf /voller/Pfad/Datei

Nur die Dokumentation eines Paketes anzeigen lassen:

rpm -qld Paketname

Nur die Konfiguratinsdateien Paketes anzeigen lassen:

rpm -qlc Paketname

Den ChangeLog eines Paketes anzeigen lassen:

rpm -q --changelog Paketname

Abfrage wann ein Paket zuletzt installiert/upgedated wurde:

rpm -q --last Paketname

Abhängigkeiten eines Paketes ausgeben:

rpm -q --requires $Paketname

Abhängigkeiten ignorieren

Achtung Achtung: Die folgenden Optionen sollten nur von erfahrenen Benutzern und nur zu Testzwecken verwendet werden.

Abhängigkeiten ignorieren

--nodeps

Abhängigkeiten ignorieren, notfalls vorhandene Pakete ersetzen

--force

Datenbankprobleme beheben

Sollte die Abfrage von rpm nicht mehr reagieren, kann versucht werden die Datenbank zu erneuern:

$ rm -f /var/lib/rpm/__* ; rpm -vv --rebuilddb

Interne verwandte Artikel

Weblinks

Persönliche Werkzeuge