Original author(s) | Erik Troan, Marc Ewing,Red Hat |
---|---|
Developer(s) | Community & Red Hat |
Initial release | 1997 |
Stable release |
4.13 / 5 August 2015
|
Written in | C, Perl |
Operating system | Linux, Unix-like |
Type | Package management system |
License | GPL |
Website | www |
RPM Package Manager (RPM) (originally Red Hat Package Manager; now a recursive acronym) is a package management system. The name RPM refers to the following: the .rpm file format, files in the .rpm file format, software packaged in such files, and the package manager program itself. RPM was intended primarily for Linux distributions; the file format is the baseline package format of the Linux Standard Base.
Even though it was created for use in Red Hat Linux, RPM is now used in many Linux distributions. It has also been ported to some other operating systems, such as Novell NetWare (as of version 6.5 SP3) and IBM's AIX (as of version 4).
An RPM package can contain an arbitrary set of files. The larger part of RPM files encountered are “binary RPMs” (or BRPMs) containing the compiled version of some software. There are also “source RPMs” (or SRPMs) files containing the source code used to produce a package. These have an appropriate tag in the file header that distinguishes them from normal (B)RPMs, causing them to be extracted to /usr/src on installation. SRPMs customarily carry the file extension “.src.rpm” (.spm on file systems limited to 3 extension characters, e.g. old DOS FAT).
RPM was originally written in 1997 by Erik Troan and Marc Ewing, based on pms
, rpp
, and pm
experiences.
pm
was written by Rik Faith and Doug Hoffman in May 1995 for Red Hat Software, its design and implementations influenced greatly by pms
, a package management system by Faith and Kevin Martin in the fall of 1993 for the Bogus Linux Distribution. pm
preserves the "Pristine Sources + patches" paradigm of pms
, while adding features and eliminating arbitrary limitations present in the implementation. pm
provides greatly enhanced database support for tracking and verifying installed packages