===== RPM (Red Hat Package Manager) =====
RPM ist das Low-Level-Paketverwaltungstool für Red Hat-basierte Distributionen (RHEL, CentOS, Fedora, openSUSE).
==== Grundlagen ====
* Arbeitet direkt mit .rpm-Paketen
* Führt keine automatische Abhängigkeitsauflösung durch
* Paketdatenbank in `/var/lib/rpm/`
* Wird von höheren Tools wie DNF, YUM und Zypper genutzt
==== Wichtige Befehle ====
# Installation und Entfernung
sudo rpm -i .rpm # Paket installieren (install)
sudo rpm -U .rpm # Paket aktualisieren oder installieren (upgrade)
sudo rpm -F .rpm # Nur aktualisieren wenn bereits installiert (freshen)
sudo rpm -e # Paket entfernen (erase)
# Abkürzungen kombinierbar
sudo rpm -ivh .rpm # Install mit verbose und hash-Fortschrittsanzeige
sudo rpm -Uvh .rpm # Upgrade mit Ausgabe
# Installation ohne Abhängigkeitsprüfung (Vorsicht!)
sudo rpm -i --nodeps .rpm
sudo rpm -e --nodeps
==== Paketinformationen abfragen ====
# Installierte Pakete
rpm -qa # Alle installierten Pakete auflisten (query all)
rpm -qa | grep # Nach installiertem Paket suchen
rpm -q # Prüfen ob Paket installiert ist
rpm -qi # Detaillierte Paketinformationen (query info)
rpm -ql # Dateien eines installierten Pakets auflisten (query list)
rpm -qc # Konfigurationsdateien auflisten (query config)
rpm -qd # Dokumentationsdateien auflisten (query documentation)
rpm -q --changelog # Changelog anzeigen
# Paketdateien (.rpm) abfragen
rpm -qpi .rpm # Info aus RPM-Datei (p = package file)
rpm -qpl .rpm # Dateien in RPM-Datei auflisten
rpm -qp --requires .rpm # Abhängigkeiten einer RPM-Datei anzeigen
# Dateien und Pakete
rpm -qf # Welches Paket enthält diese Datei (query file)
rpm -q --whatprovides # Welches Paket stellt diese Datei bereit
rpm -q --whatrequires # Welche Pakete benötigen dieses Paket
==== Abhängigkeiten prüfen ====
rpm -qR # Abhängigkeiten eines installierten Pakets (requires)
rpm -q --requires # Alternative Syntax
rpm -qp --requires .rpm # Abhängigkeiten einer RPM-Datei
# Was bietet ein Paket
rpm -q --provides # Was stellt das Paket bereit
==== Verifizierung und Prüfung ====
rpm -V # Paket verifizieren (verify)
rpm -Va # Alle Pakete verifizieren
rpm -Vp .rpm # RPM-Datei verifizieren
# Signatur prüfen
rpm --checksig .rpm # Signatur und Checksumme prüfen
rpm -K .rpm # Kurzform
# GPG-Schlüssel importieren
sudo rpm --import
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 .spec # Binary und Source RPM bauen
rpmbuild -bb .spec # Nur Binary RPM bauen
rpmbuild -bs .spec # Nur Source RPM bauen
# RPM aus Quellen extrahieren
rpm2cpio .rpm | cpio -idmv
==== Weitere Informationen ====
man rpm
man rpm2cpio
man rpmbuild
rpm --help
==== Siehe auch ====
* [[sammlung:dnf|DNF]] (High-Level Paketmanager für Fedora/RHEL)
* [[sammlung:yum|YUM]] (Vorgänger von DNF)
* [[sammlung:zypper|Zypper]] (für openSUSE)
* [[sammlung:dpkg|dpkg]] (Debian-Äquivalent)
* [[sammlung:paketverwaltung|Paketverwaltung Übersicht]]
{{tag>cli}}