What is RPM?
RPM (Red Hat Package Manager) files are software packages for Red Hat-based Linux distributions. Contains compiled binaries, libraries, configuration files, documentation, and installation scripts in a single archive. Uses cpio compression with metadata stored in RPM database (/var/lib/rpm). Includes dependency information, pre/post-install scripts, and digital signatures for verification. Managed by rpm command-line tool and higher-level package managers like yum and dnf.
RPM is the standard for Red Hat Enterprise Linux (RHEL), Fedora, CentOS, Rocky Linux, AlmaLinux, openSUSE, and Mageia. Powers millions of enterprise servers, particularly in corporate and government environments. RHEL dominates enterprise Linux market with RPM at its core. Users install RPM files with: sudo rpm -ivh package.rpm or sudo dnf install package.rpm. Widely used for distributing enterprise software, databases (Oracle, PostgreSQL), and commercial applications on Linux.
History
Red Hat developed RPM to standardize software installation on Red Hat Linux, eventually becoming the foundation for enterprise Linux package management.
Key Milestones
- 1995: RPM created by Red Hat
- 1997: RPM 3.0 released
- 2003: Yum package manager
- 2004: CentOS adopts RPM
- 2015: DNF replaces Yum
- Present: Enterprise Linux standard
Key Features
Core Capabilities
- Dependency Tracking: Automatic resolution
- Database Management: Installed package tracking
- Digital Signatures: GPG verification
- Transaction Rollback: Failed install recovery
- Scriptlets: Pre/post-install hooks
- Query System: Package information
Common Use Cases
Enterprise Servers
RHEL production systems
Database Systems
Oracle, MySQL, PostgreSQL
System Tools
Enterprise management software
Security
Audited enterprise packages
Advantages
- Enterprise Linux standard
- Robust dependency management
- Strong cryptographic verification
- Transaction rollback support
- Mature and stable ecosystem
- Excellent database tracking
- Commercial software support
Disadvantages
- Red Hat family Linux only
- Dependency conflicts possible
- Complex package building (spec files)
- Incompatible with DEB systems
- System-wide installation only
- Not as portable as Flatpak/AppImage
Technical Information
Format Specifications
| Specification | Details |
|---|---|
| File Extension | .rpm |
| MIME Type | application/x-rpm |
| Base Format | cpio archive with header |
| Compression | gzip, bzip2, xz |
| Manager | rpm, yum, dnf, zypper |
| Distributions | RHEL, Fedora, CentOS, openSUSE |
Common Tools
- Installation: sudo rpm -ivh package.rpm, sudo dnf install package.rpm
- Management: yum, dnf (Fedora/RHEL), zypper (openSUSE)
- Creation: rpmbuild, spec files
- Query: rpm -qa (list), rpm -qi (info), rpm -ql (files)