What is RPM? The Red Hat Package Manager Format Explained
The native package format for Red Hat, Fedora, SUSE, and related Linux distributions.
Last updated:
What is RPM?
RPM, originally the Red Hat Package Manager and now simply the RPM Package Manager, is both a packaging format and the tool that installs and manages it. It is the native package system for Red Hat Enterprise Linux, Fedora, CentOS, openSUSE, and many related distributions.
An RPM file begins with magic bytes and consists of a lead, a signature section, a header containing package metadata such as name, version, architecture, and file list, and a payload. The payload holds the actual files as a cpio archive, traditionally compressed with gzip and in modern packages often with xz or zstd.
How RPM Works
An RPM package is laid out as four sections: a legacy lead, a signature section, a header of tagged metadata, and the payload.[1] The header stores structured entries describing the package name, version, architecture, dependencies, and the complete file list with permissions and checksums, while the payload is a cpio archive of the actual files, compressed with gzip, xz, or zstd.[1]
History and Ecosystem
RPM was developed by Red Hat and the acronym shifted from Red Hat Package Manager to the recursive RPM Package Manager as adoption spread beyond Red Hat.[2] It is the native package format for Fedora, RHEL, CentOS, and openSUSE, and is layered beneath higher-level tools such as DNF and Zypper.[2]
Verification and Limitations
The signature section and header checksums let installers verify package integrity and authenticity before installation.[1] Although RPM and DEB serve the same purpose, their on-disk formats and metadata are incompatible, so packages are not interchangeable between RPM- and Debian-based systems without conversion.[2]
MKV Technical Specifications
RPM vs Other Archive Formats
| Feature | RPM | DEB |
|---|---|---|
| Container | Lead + header + payload[1] | ar archive |
| Package manager | rpm / DNF[2] | dpkg / APT |
| Primary distros | Fedora, RHEL, SUSE[2] | Debian, Ubuntu |
| Payload compression | gzip / xz / zstd[1] | gzip / xz / zstd |
| Best for | Red Hat-family packaging | Debian-family packaging |
RPM and DEB serve equivalent roles within their respective Linux ecosystems.
Advantages & Disadvantages
Advantages
A structured header records dependencies, version, architecture, and the complete file manifest.
Packages can be GPG-signed and verified, and installed files can be checked against recorded checksums.
Works with front ends like DNF and Zypper to resolve and install required dependencies.
It is the standard across the Red Hat and SUSE families and is recognized by the Linux Standard Base.
Disadvantages
RPM is native to Red Hat and SUSE families and is not directly used on Debian-based systems.
Installing RPMs from outside managed repositories can lead to unresolved or conflicting dependencies.
RPMs built for one distribution may not install cleanly on another due to differing dependency names.
Common Use Cases
RPM underpins software distribution across the Red Hat and SUSE Linux ecosystems.
Distribution repositories | FileFormer
Fedora, RHEL, and openSUSE ship their software as signed RPM packages.
Enterprise software | FileFormer
Commercial Linux applications are commonly delivered as RPM files for supported distributions.
Custom packaging | FileFormer
Developers build RPMs from spec files to package and deploy their own software.
Convert RPM Files Free
Use our free online archive converter to convert RPM and other formats - no signup, no watermarks.
Try Archive Converter FreeFrequently Asked Questions
What does RPM stand for?
It originally stood for Red Hat Package Manager and is now interpreted recursively as the RPM Package Manager.
How do I install an RPM file?
Use a front end such as 'dnf install package.rpm' to resolve dependencies, or 'rpm -i package.rpm' for a direct install.
What is inside an RPM file?
A lead, a signature, a metadata header, and a payload of files stored as a compressed cpio archive.
What is the difference between RPM and DNF or YUM?
RPM is the low-level format and tool, while DNF and YUM are higher-level managers that handle repositories and dependency resolution on top of RPM.
Can RPM packages be verified?
Yes. RPM supports GPG signatures and can verify installed files against the checksums and attributes stored in the package header.