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.

Did you know? RPM powers most enterprise Linux servers worldwide!

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)