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.rpmrpm -Uvh <file>.rpm — Aktualisiert ein Paket (installiert es, falls noch nicht vorhanden).
sudo rpm -Uvh package-2.0.rpmrpm -Fvh <file>.rpm — Auffrischen: aktualisiert nur, wenn bereits eine ältere Version installiert ist.
sudo rpm -Fvh package-2.0.rpmrpm -e <package> — Entfernt (löscht) ein installiertes Paket.
sudo rpm -e nginxrpm -e --nodeps <package> — Entfernt ein Paket und ignoriert dabei Abhängigkeiten.
sudo rpm -e --nodeps libfooInstallierte Pakete abfragen
rpm -qa — Listet alle installierten Pakete auf.
rpm -qarpm -qa | grep <pattern> — Sucht nach installierten Paketen.
rpm -qa | grep phprpm -qi <package> — Zeigt detaillierte Informationen zu einem installierten Paket.
rpm -qi nginxrpm -ql <package> — Listet alle von einem Paket installierten Dateien auf.
rpm -ql nginxrpm -qc <package> — Listet nur die Konfigurationsdateien eines Pakets auf.
rpm -qc nginxrpm -qd <package> — Listet nur die Dokumentationsdateien eines Pakets auf.
rpm -qd nginxrpm -qR <package> — Listet die Abhängigkeiten eines Pakets auf.
rpm -qR nginxrpm -qf <file> — Findet heraus, zu welchem Paket eine Datei gehört.
rpm -qf /usr/sbin/nginxRPM-Dateien abfragen
rpm -qip <file>.rpm — Zeigt Informationen zu einer nicht installierten RPM-Datei.
rpm -qip package.rpmrpm -qlp <file>.rpm — Listet die Dateien innerhalb einer RPM-Datei auf.
rpm -qlp package.rpmrpm -qRp <file>.rpm — Zeigt die Abhängigkeiten einer RPM-Datei.
rpm -qRp package.rpmVerifizieren
rpm -V <package> — Prüft installierte Dateien gegen die Paketdatenbank.
rpm -V nginxrpm -Va — Prüft alle installierten Pakete.
rpm -Varpm -K <file>.rpm — Prüft Signatur und Integrität einer RPM-Datei.
rpm -K package.rpmrpm --import <key> — Importiert einen öffentlichen GPG-Schlüssel zur Paketverifikation.
sudo rpm --import https://example.com/RPM-GPG-KEYHäufige Muster
rpm -qa --last | head -20 — Zeigt die 20 zuletzt installierten/aktualisierten Pakete.
rpm -qa --last | head -20rpm -qa --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' — Paketliste in eigenem Format.
rpm -qa --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' | sortrpm2cpio <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.
Weiterführende Links
- rpm.org – offizielle Projektseite des RPM Package Managers (englisch)
- RPM-Dokumentation (rpm.org) – Referenz, Handbücher und Manpages zum Paketmanager (englisch)