Was ist das RPM-Dateiformat?
Dateien mit der Erweiterung .rpm sind Paketdateien, die auf Linux-basierten Betriebssystemen verwendet werden. Ursprünglich wurde das .rpm-Format von Red Hat für die eigene Linux-Distribution entwickelt, heute ist es jedoch weit verbreitet bei Fedora, RHEL, CentOS, openSUSE, Mageia und vielen anderen Distributionen.
Eine .rpm-Datei ist ein Softwarepaket, das alles enthält, was zur Installation einer bestimmten Anwendung auf einem kompatiblen Linux-System erforderlich ist. RPM stand ursprünglich für „Red Hat Package Manager“; das Projekt wird heute von der Open-Source-Community auf RPM.org gepflegt und das Befehlszeilen-Tool wird einfach rpm genannt. Das Format wurde entwickelt, um die Installation und Verteilung von Linux-Anwendungen unkompliziert zu gestalten, sodass der Endbenutzer die für die Installation erforderlichen einzelnen Dateien nicht manuell verwalten muss.
Intern hat ein .rpm eine binäre Struktur, die aus einem Lead-Abschnitt, einem GPG-Signatur-Header, einem getaggten Metadaten-Header und einem komprimierten .cpio-Payload besteht, der die eigentlichen Dateien enthält. Moderne Pakete komprimieren diesen Payload mit XZ/LZMA; gzip, bzip2 und Zstd werden ebenfalls unterstützt. Pakete werden über dnf (Fedora/RHEL) oder zypper (openSUSE) installiert, welche Abhängigkeiten automatisch auflösen. Eine .src.rpm-Variante enthält Quellcode und Bauanleitungen anstelle von ausführbaren Binärdateien. Unter Windows oder macOS können Tools wie 7-Zip den Inhalt von .rpm-Dateien zur Inspektion extrahieren, obwohl Installationsskripte außerhalb eines nativen RPM-basierten Linux-Systems nicht ausgeführt werden können. Das nächste Äquivalent auf Debian-basierten Systemen ist das .deb-Format.
Sicherheit
RISIKO: MEDIUMRPM-Pakete führen Installations-/Deinstallationsskripte als Root aus, daher kann eine bösartige .rpm ein System vollständig kompromittieren. Installieren Sie RPMs nur von vertrauenswürdigen Anbietern/Repositories und verifizieren Sie zuerst die GPG-Signatur: rpm --checksig paket.rpm (und importieren Sie den Schlüssel des Anbieters). Distributionen warnen vor der Installation unsignierter Pakete. Unter Windows/macOS kann eine .rpm nicht ausgeführt werden, daher ist die Inspektion dort harmlos. Vermeiden Sie dubiose „rpm to exe“ oder „rpm opener“ Seiten - diese sind irreführend (RPMs laufen nicht unter Windows) und enthalten oft Adware.
Formatdetails
kurz gefasstProgramme zum Öffnen von RPM-Dateien
rpm2cpio paket.rpm | cpio -idmv zum Extrahieren von Dateien aus dem Paket unter macOS zur Inspektion. sudo alien -i paket.rpm konvertiert und installiert als .deb. Mit Vorsicht genießen - native .deb-Pakete sind vorzuziehen. sudo dnf install ./paket.rpm - installiert das Paket und löst Abhängigkeiten automatisch auf. Bevorzugt gegenüber reinem rpm. sudo zypper install ./paket.rpm - installiert mit Abhängigkeitsauflösung auf SUSE-Systemen. sudo rpm -ivh paket.rpm zum Installieren, rpm -qlp zum Auflisten von Dateien, rpm --checksig zum Verifizieren. Löst Abhängigkeiten nicht automatisch auf. Technische Details
technische Spezifikation| MIME-Typ | application/x-rpm (auch akzeptiert: application/x-redhat-package-manager) |
| Datei-Magic-Bytes | ED AB EE DB bei Offset 0 - die „edabeedb“ RPM-Lead-Signatur |
| Interne Struktur | Lead-Abschnitt → GPG-Signatur-Header → getaggter Metadaten-Header → komprimierter cpio-Payload |
| Payload-Komprimierung | XZ/LZMA (moderner Standard bei Fedora/RHEL), gzip, bzip2 oder Zstd; wählbar pro Paket-Build |
| Header-Byte-Reihenfolge | Big-endian; jeder Tag-Eintrag speichert einen 4-Byte-Typ, einen 4-Byte-Count und einen Offset in den Datenspeicher |
| Paketsignierung | GPG-Signatur im Signatur-Header eingebettet; verifiziert mit `rpm --checksig` |
| Abhängigkeits-Metadaten | Requires-, Provides-, Conflicts- und Obsoletes-Tags im Haupt-Header für die automatische Auflösung |
| Installations-Skripte | Pre- und Post-Install (%pre/%post) sowie Pre- und Post-Uninstall (%preun/%postun) Skripte im Paket eingebettet |
| Integrität pro Datei | SHA-256-Digests pro Datei im Header gespeichert (MD5 bei älteren Paketen); nach der Installation geprüft |
| Paketformat-Version | v4 (aktuell, RPM 4.x Toolchain); RPM v6 Format in aktiver Entwicklung bei RPM.org |
| Zugehörige Paketmanager | `dnf` (Fedora, RHEL, CentOS Stream), `zypper` (openSUSE/SUSE), `rpm` (Low-Level-Befehl) |
| Quellpaket-Variante | `.src.rpm` (SRPM) enthält den Quell-Tarball und das `.spec`-Bautrezept anstelle von kompilierten Binärdateien |
| Unterstützte Plattformen | RPM-basierte Linux-Distributionen: Red Hat, Fedora, RHEL, CentOS, openSUSE, Rocky Linux, AlmaLinux, Mageia |
| Typische Dateigröße | Einige KB (kleine Utilities) bis zu mehreren hundert MB (große Anwendungen, Entwickler-Toolchains oder Firmware) |
| Relokatierbarkeit | Pakete können als verschiebbar markiert werden, was die Installation in einen benutzerdefinierten Pfad ermöglicht |
| Veröffentlicht | 1997 (RPM, with Red Hat Linux 5.0; rpm-software-management is the current upstream) |
| Neueste Version | RPM v4 package format (RPM 4.20.x, 2024); RPM v6 format in development |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | rpm-software-management.github.io |
RPM-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu RPM-Dateien.
Häufig gestellte Fragen
Wie installiere ich eine .rpm-Datei unter Linux?
sudo dnf install ./datei.rpm; unter openSUSE: sudo zypper install ./datei.rpm. Diese lösen Abhängigkeiten automatisch auf. Das Low-Level-Tool sudo rpm -ivh datei.rpm funktioniert ebenfalls, lädt aber keine fehlenden Abhängigkeiten nach.Wie öffne ich eine .rpm-Datei unter Windows?
Wie installiere ich eine .rpm unter Ubuntu/Debian?
sudo alien -i datei.rpm, aber es ist sicherer, nach einer nativen .deb, einem Flatpak oder AppImage desselben Programms zu suchen.Was ist der Unterschied zwischen RPM und DEB?
Wie sehe ich den Inhalt einer .rpm, ohne sie zu installieren?
rpm -qlp datei.rpm listet die Dateien auf und rpm -qip datei.rpm zeigt die Informationen an; oder führen Sie rpm2cpio datei.rpm | cpio -idmv aus, um sie zu extrahieren. Unter Windows öffnen Sie sie mit 7-Zip.Warum erhalte ich „failed dependencies“ bei der Installation einer RPM?
dnf install ./datei.rpm (oder zypper) anstelle von reinem rpm, damit der Paketmanager die Abhängigkeiten aus Ihren Repositories nachzieht.