Inhaltsverzeichnis

RPM (Red Hat Package Manager)

RPM ist das Low-Level-Paketverwaltungstool für Red Hat-basierte Distributionen (RHEL, CentOS, Fedora, openSUSE).

Grundlagen

Wichtige Befehle

# Installation und Entfernung
sudo rpm -i <paket>.rpm         # Paket installieren (install)
sudo rpm -U <paket>.rpm         # Paket aktualisieren oder installieren (upgrade)
sudo rpm -F <paket>.rpm         # Nur aktualisieren wenn bereits installiert (freshen)
sudo rpm -e <paket>             # Paket entfernen (erase)

# Abkürzungen kombinierbar
sudo rpm -ivh <paket>.rpm       # Install mit verbose und hash-Fortschrittsanzeige
sudo rpm -Uvh <paket>.rpm       # Upgrade mit Ausgabe

# Installation ohne Abhängigkeitsprüfung (Vorsicht!)
sudo rpm -i --nodeps <paket>.rpm
sudo rpm -e --nodeps <paket>

Paketinformationen abfragen

# Installierte Pakete
rpm -qa                         # Alle installierten Pakete auflisten (query all)
rpm -qa | grep <name>           # Nach installiertem Paket suchen
rpm -q <paket>                  # Prüfen ob Paket installiert ist
rpm -qi <paket>                 # Detaillierte Paketinformationen (query info)
rpm -ql <paket>                 # Dateien eines installierten Pakets auflisten (query list)
rpm -qc <paket>                 # Konfigurationsdateien auflisten (query config)
rpm -qd <paket>                 # Dokumentationsdateien auflisten (query documentation)
rpm -q --changelog <paket>      # Changelog anzeigen

# Paketdateien (.rpm) abfragen
rpm -qpi <paket>.rpm            # Info aus RPM-Datei (p = package file)
rpm -qpl <paket>.rpm            # Dateien in RPM-Datei auflisten
rpm -qp --requires <paket>.rpm  # Abhängigkeiten einer RPM-Datei anzeigen

# Dateien und Pakete
rpm -qf <datei>                 # Welches Paket enthält diese Datei (query file)
rpm -q --whatprovides <datei>   # Welches Paket stellt diese Datei bereit
rpm -q --whatrequires <paket>   # Welche Pakete benötigen dieses Paket

Abhängigkeiten prüfen

rpm -qR <paket>                 # Abhängigkeiten eines installierten Pakets (requires)
rpm -q --requires <paket>       # Alternative Syntax
rpm -qp --requires <paket>.rpm  # Abhängigkeiten einer RPM-Datei

# Was bietet ein Paket
rpm -q --provides <paket>       # Was stellt das Paket bereit

Verifizierung und Prüfung

rpm -V <paket>                  # Paket verifizieren (verify)
rpm -Va                         # Alle Pakete verifizieren
rpm -Vp <paket>.rpm             # RPM-Datei verifizieren

# Signatur prüfen
rpm --checksig <paket>.rpm      # Signatur und Checksumme prüfen
rpm -K <paket>.rpm              # Kurzform

# GPG-Schlüssel importieren
sudo rpm --import <keyfile>
sudo rpm --import https://example.com/RPM-GPG-KEY
rpm -qa gpg-pubkey*             # Importierte Schlüssel anzeigen

Paketdatenbank

# Datenbank neu aufbauen (bei Problemen)
sudo rpm --rebuilddb

# Datenbank-Verzeichnis
ls -l /var/lib/rpm/

RPM-Pakete erstellen

# SPEC-Datei erstellen und Paket bauen
rpmbuild -ba <paket>.spec       # Binary und Source RPM bauen
rpmbuild -bb <paket>.spec       # Nur Binary RPM bauen
rpmbuild -bs <paket>.spec       # Nur Source RPM bauen

# RPM aus Quellen extrahieren
rpm2cpio <paket>.rpm | cpio -idmv

Weitere Informationen

man rpm
man rpm2cpio
man rpmbuild
rpm --help

Siehe auch