rpm — Das RPM-Paketwerkzeug auf unterster Ebene

Praxis-Guide zu rpm — dem Low-Level-Paketwerkzeug für Red-Hat-Systeme: einzelne RPM-Pakete abfragen, installieren, verifizieren und verwalten.

rpm ist das Low-Level-Werkzeug, das unter Paketmanagern wie dnf und zypper arbeitet: Es installiert, entfernt und durchsucht einzelne lokale .rpm-Pakete auf Red-Hat-basierten Systemen wie Fedora, RHEL oder openSUSE. Anders als dnf löst rpm aber keine Abhängigkeiten auf – fehlt eine benötigte Bibliothek, bricht die Installation einfach ab. Fürs Alltagsgeschäft greifst du deshalb besser zu dnf; rpm ist die richtige Wahl, wenn du ein einzelnes Paket gezielt abfragen, eine RPM-Datei vor der Installation prüfen oder ein installiertes Paket genauer untersuchen willst. Dieser Guide zeigt dir die wichtigsten Kommandos für Installation, Abfrage und Verifikation.

Installieren & Entfernen

rpm -ivh <file>.rpm — Installiert ein RPM-Paket (ausführlich + Fortschrittsbalken).

sudo rpm -ivh package.rpm

rpm -Uvh <file>.rpm — Aktualisiert ein Paket (installiert es, falls noch nicht vorhanden).

sudo rpm -Uvh package-2.0.rpm

rpm -Fvh <file>.rpm — Auffrischen: aktualisiert nur, wenn bereits eine ältere Version installiert ist.

sudo rpm -Fvh package-2.0.rpm

rpm -e <package> — Entfernt (löscht) ein installiertes Paket.

sudo rpm -e nginx

rpm -e --nodeps <package> — Entfernt ein Paket und ignoriert dabei Abhängigkeiten.

sudo rpm -e --nodeps libfoo

Installierte Pakete abfragen

rpm -qa — Listet alle installierten Pakete auf.

rpm -qa

rpm -qa | grep <pattern> — Sucht nach installierten Paketen.

rpm -qa | grep php

rpm -qi <package> — Zeigt detaillierte Informationen zu einem installierten Paket.

rpm -qi nginx

rpm -ql <package> — Listet alle von einem Paket installierten Dateien auf.

rpm -ql nginx

rpm -qc <package> — Listet nur die Konfigurationsdateien eines Pakets auf.

rpm -qc nginx

rpm -qd <package> — Listet nur die Dokumentationsdateien eines Pakets auf.

rpm -qd nginx

rpm -qR <package> — Listet die Abhängigkeiten eines Pakets auf.

rpm -qR nginx

rpm -qf <file> — Findet heraus, zu welchem Paket eine Datei gehört.

rpm -qf /usr/sbin/nginx

RPM-Dateien abfragen

rpm -qip <file>.rpm — Zeigt Informationen zu einer nicht installierten RPM-Datei.

rpm -qip package.rpm

rpm -qlp <file>.rpm — Listet die Dateien innerhalb einer RPM-Datei auf.

rpm -qlp package.rpm

rpm -qRp <file>.rpm — Zeigt die Abhängigkeiten einer RPM-Datei.

rpm -qRp package.rpm

Verifizieren

rpm -V <package> — Prüft installierte Dateien gegen die Paketdatenbank.

rpm -V nginx

rpm -Va — Prüft alle installierten Pakete.

rpm -Va

rpm -K <file>.rpm — Prüft Signatur und Integrität einer RPM-Datei.

rpm -K package.rpm

rpm --import <key> — Importiert einen öffentlichen GPG-Schlüssel zur Paketverifikation.

sudo rpm --import https://example.com/RPM-GPG-KEY

Häufige Muster

rpm -qa --last | head -20 — Zeigt die 20 zuletzt installierten/aktualisierten Pakete.

rpm -qa --last | head -20

rpm -qa --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' — Paketliste in eigenem Format.

rpm -qa --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' | sort

rpm2cpio <file>.rpm | cpio -idmv — Entpackt Dateien aus einer RPM, ohne sie zu installieren.

rpm2cpio package.rpm | cpio -idmv

Fazit

rpm gibt dir die volle, direkte Kontrolle über einzelne Pakete – samt der Verantwortung, die dazugehört. Weil rpm keine Abhängigkeiten auflöst, solltest du zum Installieren und Aktualisieren im Normalfall dnf (bzw. zypper unter openSUSE) verwenden und rpm für gezielte Abfragen, Verifikation und das Auspacken einzelner Dateien reservieren. Besonders vorsichtig solltest du mit -e/--erase sein (entfernt Pakete) sowie mit --nodeps und --force: Sie umgehen die Sicherheitsnetze und können dein System in einen inkonsistenten Zustand bringen. Prüfe heruntergeladene Pakete vor der Installation grundsätzlich mit rpm -K (GPG-Signatur) und importiere die Schlüssel der Quelle zuvor per rpm --import.

Verwandte Kommandos

  • apk – Paketmanager der Distribution Alpine Linux
  • apt – komfortables High-Level-Paketwerkzeug für Debian/Ubuntu
  • apt-get – klassisches Debian/Ubuntu-Paketwerkzeug für Skripte