LLMpediaThe first transparent, open encyclopedia generated by LLMs

RPM (file format)

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: Artifactory Hop 4
Expansion Funnel Raw 81 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted81
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
RPM (file format)
NameRPM (file format)
Extension.rpm
Mimeapplication/x-rpm
DeveloperRed Hat, Fedora Project
Released1997
Latest releaseRPM 4.x
GenrePackage management format

RPM (file format) is a binary package format originally created to distribute software for Red Hat Enterprise Linux, Fedora Project, and related CentOS distributions. It encapsulates executable files, libraries, documentation, and install scripts along with metadata to control installation, upgrade, and removal on systems such as SUSE Linux Enterprise and legacy Mandrake Linux. The format underpins package ecosystems used by projects including openSUSE, Scientific Linux, and server offerings from IBM and Oracle Corporation.

Overview

The format is used by package managers such as rpm (software), yum (software), and dnf (software) to provide transactional operations, dependency resolution, and digital verification across operating systems derived from Linux kernel. Packages bundle payloads and metadata for componentized software distribution employed by vendors like Red Hat, Inc., SUSE, and projects like CentOS Stream. The format supports cryptographic signing compatible with key management tools from GnuPG, integrates with build systems like Koji (software), and interfaces with continuous integration platforms like Jenkins and GitLab CI.

History and Development

Development began in the late 1990s at Red Hat to modernize software distribution on Linux, influenced by earlier packaging systems such as Debian's dpkg and Slackware packaging practices. Over time, stewardship involved contributors from Fedora Project, Open Source Initiative, and enterprises including IBM and Novell. Major milestones correspond to releases of distributions like Fedora, Red Hat Enterprise Linux 4, and openSUSE Leap, while standards discussions occurred in communities around Linux Standard Base and conferences such as FOSDEM and LinuxCon. Governance and contributions have included maintainers connected to organizations such as Red Hat, Inc., Oracle Corporation, and academic groups at institutions like Massachusetts Institute of Technology and University of Cambridge.

File Format and Structure

An RPM package contains a lead, signature header, header, and a cpio-compressed payload; the structure resembles archive formats used in projects like GNU tar and tools from BusyBox. Metadata fields map to entities familiar in POSIX systems and toolchains such as GCC (compiler collection), binutils, and systemd service units. The header stores tags referenced in build systems like rpmbuild and integrated with repositories managed by Pulp (software) and Koji (software). The payload commonly uses compressors from Xz Utils, gzip, or Bzip2 toolchains.

Package Metadata and Spec

Metadata tags include package name, version, release, epoch, architecture, provides, requires, conflicts, obsoletes, changelog, and license fields that align with licensing authorities and catalogers like Open Source Initiative and repositories such as EPEL. The spec file format used by builders references macros and sections similar to macros in Autoconf and scripts invoking utilities from GNU Coreutils and Perl. Fields enable integration with metadata indexes used by Koji (software), repository validators from Pulp (software), and signing processes tied to GnuPG and OpenSSL ecosystems. Policies for package maintainers are documented by projects including Fedora Project and Red Hat, Inc..

Compression, Signature, and Integrity

Payload compression algorithms include implementations from LZMA via Xz Utils, gzip by Jean-loup Gailly and Mark Adler, and bzip2 by Julian Seward. Signatures rely on PGP-compatible systems like GnuPG to provide cryptographic assurance, and checksums use algorithms from MD5 and SHA-2 families developed by researchers including Ron Rivest and the National Institute of Standards and Technology. Verification workflows integrate with continuous delivery tools such as Jenkins and artifact storage solutions like Nexus Repository Manager and Artifactory.

Tools and Implementation

Software implementing the format includes the reference rpm (software) library and utilities, high-level installers such as yum (software) and dnf (software), repository managers like Pulp (software) and Spacewalk (software), and build systems including Koji (software), Mock (tool), and obs (open build service). Toolchains for developers often include rpmbuild, spectool, and editors like Emacs or Vim for spec files; CI/CD integrations use GitLab CI, Jenkins, and Travis CI. Packaging guidelines and linting are performed by projects like Lintian-style tools and community validators maintained by Fedora Project and openSUSE.

Compatibility and Use Cases

The format is ubiquitous across enterprise distributions such as Red Hat Enterprise Linux, CentOS, Oracle Linux, and desktop flavors like Fedora Workstation and openSUSE Leap. Use cases include system provisioning with configuration management tools like Ansible, Puppet, and Chef, container image builds for Docker and Podman, and software distribution for scientific platforms like Scientific Linux and Rocky Linux. Integration points exist with cloud providers such as Amazon Web Services, Microsoft Azure, and Google Cloud Platform for VM image construction and repository hosting. The format remains a core component in ecosystems supported by vendors including Red Hat, Inc., SUSE, and community projects like Fedora Project.

Category:File formats