1 📦 RPM (Red Hat Package Manager / Das Paket-Fundament)
RPM ist ein rekursives Akronym für RPM Package Manager (ursprünglich Red Hat Package Manager). Es bezeichnet zwei Dinge gleichzeitig: das standardisierte Paketformat (Dateiendung .rpm) und das Low-Level-Werkzeug (rpm-Befehl) zur Installation, Überprüfung und Deinstallation dieser Pakete.
Die Kernphilosophie von RPM ist die Verpackung und Erfassung. Ein .rpm-Archiv enthält nicht nur die fertig kompilierten Binärdateien eines Programms, sondern auch Metadaten wie Beschreibungen, Versionsnummern, Installationsskripte und eine Liste von Abhängigkeiten, die das Programm zum Laufen benötigt.
2 ⚖️ DER UNTERSCHIED: LOW-LEVEL (RPM) VS. HIGH-LEVEL (DNF/ZYPPER)
- Das Werkzeug rpm (Low-Level):
Es ist blind für das Internet. Wenn du ein lokales .rpm-Paket mit dem Befehl rpm installierst und diesem Paket fehlen Abhängigkeiten (z. B. eine bestimmte Library), bricht rpm stumpf mit einer Fehlermeldung ab. Es lädt nichts automatisch nach. - Die Werkzeuge dnf oder zypper (High-Level):
Sie sind die intelligenten Manager oben drüber. Sie durchsuchen die Online-Repositores, berechnen die Abhängigkeiten, laden alle benötigten .rpm-Dateien aus dem Netz herunter und übergeben sie dann im letzten Schritt an das Werkzeug rpm zur eigentlichen Installation.
3 ⚙️ DIE WICHTIGSTEN RPM-BEFEHLE
Obwohl man im Alltag meistens zu DNF (Fedora) oder Zypper (openSUSE) greift, ist das direkte Abfragen mit dem rpm-Befehl unschlagbar schnell, wenn man lokale Dateien analysieren oder das System debuggen muss.
3.1 Lokale Pakete installieren und entfernen
Ein lokal heruntergeladenes Paket installieren (oder aktualisieren):
(Erklärung der Flags: -U steht für Upgrade/Install, -v für verbose/ausführlich, -h zeigt einen Fortschrittsbalken aus Doppelkreuzen an).
Ein Paket ohne Abhängigkeitsprüfung löschen:
3.2 2.2 Das System und Pakete abfragen
Prüfen, ob ein bestimmtes Paket im System installiert ist:
Alle auf dem System installierten RPM-Pakete auflisten:
Herausfinden, zu welchem installierten Paket eine bestimmte Datei gehört:
Alle Dateien anzeigen, die ein bestimmtes Paket auf die Festplatte geworfen hat:
Die Metadaten (Beschreibung, Lizenz, Architektur) einer installierten Software anzeigen:
4 ⚠️ DER LEBENSRETTER-BEFEHL (Datenbank reparieren)
- Das Problem: Ein Nutzer meldet, dass DNF oder Zypper komplett blockieren und Fehlermeldungen wie rpmdb: Thread/process ... failed: Database glitched ausgeben. Nichts geht mehr.
- Die Ursache:
Die RPM-Datenbank (unter /var/lib/rpm/), in der haarklein protokolliert ist, welches Paket welche Datei besitzt, wurde z. B. durch einen harten Systemabsturz während eines Updates beschädigt. Die Lösung:
Keine Panik, die Datenbank lässt sich aus den temporären Indizes komplett neu aufbauen.Code# 1. Die alten, korrupten Schloss-Dateien entfernen sudo rm -f /var/lib/rpm/__db.* # 2. Die RPM-Datenbank komplett frisch aufbauen sudo rpm --rebuilddbDanach läuft der Paketmanager wieder wie am ersten Tag!
5 🔄 DER FORMAT-VERGLEICH INNERHALB DER „FANTASTISCHEN VIER“
6 📝 FAZIT
RPM ist der verlässliche Lastenwagen im Hintergrund der Red-Hat- und SUSE-Welt. Während Endanwender im Alltag fast ausschließlich mit DNF oder Zypper interagieren, ist der direkte Griff zu rpm in der Praxis immer dann gefragt, wenn es um tiefe Systemanalysen geht oder die Paketdatenbank nach einem Crash repariert werden muss.