RPM homepage link


Site Map

CVS Help
Hints and Kinks
How To's
Coming Soon
Independent Packagers
Link Farm
Local Mirror
Mailing Lists

Dark Corners


The RPM Package Manager (RPM) is a powerful command line driven package management system capable of installing, uninstalling, verifying, querying, and updating computer software packages. Each software package consists of an archive of files along with information about the package like its version, a description, and the like. There is also a related API ("Application Program Interface"), permitting advanced developers to bypass 'shelling out' to a command line, and to manage such transactions from within a native coding language.

This site seeks to collect and provide pointers to content about RPM, and also aims to bring you the latest and most up to date information on the RPM software packaging tool. RPM is commonly found in the Linux computer operating system environment, but has been extended far beyond those initial confines.

A subset of the full RPM package feature-set is the baseline standard packaging format specified by the Linux Standard Base (which has as some of its goals to: "increase compatibility among Linux distributions and enable software applications to run on any compliant Linux system.")

Status and Versions

The long time RPM maintainer, Jeff Johnson, keeps an archive at:
ftp://jbj.org/pub/rpm-* and "has the latest bits he has touched". His GPG key is mirrored here, and carries a md5sum of: 3df5b7eb3c7ce8dda1a2123fc645f661. It may be imported thus:
   rpm --import ftp://jbj.org/pub/JBJ-GPG-KEY

Why is this effort needed? The last Red Hat FOSS binary releases of RPM signed with their GPG key date from the end of the RHL 9 era. As this is stale, Jeff offers it as a service.

Others offer signed RPM binaries as well. In commercial space, Yellowdog (PPC) does; In non-commercial space, among others CentOS (x86), and netwinder.org do. If you have any doubt about the authenticity of your binary, please join the #rpm channel on IRC in the irc.freenode.net network, and inquire.

The preceding release, RPM-4.1, shipped in Red Hat Linux 8.0, had growing pains. Some people are experiencing symptoms of a 'hung' process. In some instances, rpm will indicate a need to 'recover' its database. See: here for a discussion and fix. See also generally: here for other errata.

The last non-NPTL production release is: 4.1 (ftp). RPM-4.1 made its first production release 17 September 2002.

The later NPTL production release is (13 May 2003) at: 4.2.

As of May 1, 2004, this seems stale, and indeed it is. The items previously released at ftp.rpm.org were done as an adjunct to 'point' releases of the now-"End of Life'd" 'Red Hat Linux' product. Several response approaches to this exist. Various distribution developers have sought advice and assistance in stabilization of a given CVS or Red Hat corporate (RHEL) version of RPM in their environment: Linux kernel-2.4 or kernel-2.6; NPTL or non-NPTL; X86, ppc, ARM, Sparc; RPM packaged or tarball derived.

Resources to obtain the programs and source code for free

The RPM FTP site (ftp) has the source code and prebuilt binaries for all the 'RHL -- Red Hat Linux' releases of RPM available. The FTP site population approach for post-RHL times is unsettled, but CVS comes to mind. RPM is and has always been released under the Free Software Foundation "GNU General Public License" ("GNU GPL"). This means that the source code is freely available for copying and use without restriction beyond a requirement of subsequent corresponding release of source code when changes are made and the programs released to others.


There are several documents on RPM available. The most comprehensive and systematic treatment within these is is Maximum RPM, a book written by Ed Bailey. It is available in hardback (442 pages), and has recently been re-printed by Sams in soft-cover (450 pages - ISBN: 0672311054). The hardcover edition includes a quick reference card.

The Red Hat RPM Guide by Eric Foster-Johnson is a more recent book, this has recently been released under the Open Publication License and a draft close the the published version is available. Participation in updating the Guide can be done via the Fedora Documentation Project.

As noted above, the Linux Standard Base have specified an older implementation feature-set as the baseline 'standard' for producing interoperable binary format software packages as set out in that book. The Maximum RPM book covers everything from general RPM usage to building your own RPMs to programming with rpmlib. While not keyed to the latest versions, the underlying concepts and examples remain substantially unchanged.

You can also download the compressed file of it in PostScript or LaTeX. A copy is PDF form is also included on the Documents CD with complete Red Hat boxed sets of its Linux distribution. The SGML source retrieval instructions are on the CVS page.

The next version of "Maximum RPM" is under sporadic development. Packages for the work in progress are available from the CVS server at cvs.rpm.org (see: here for anonymous RO access); there is a snapshot of this updated version here. An on-line copy of the former version is here. That said, the best place for fast and knowledgeable answers to RPM usage questions (after research) is the various mailing lists.

In addition, version 4.1 of the rpm API is on-line here, created with the doxygen tool. The rpmlib API documentation is also always available in the rpm-devel package.

User documents

Development of the package

  • CVS instructions -- get with the program and use the premiere tool for developing on the bleeding edge
  • Bugzilla, bug tracker for Red Hatpackages including RPM. This functions as the 'official' persistent memory of issues respecting RPM
  • Participation on #rpm on irc.freenode.net

Developer documents

Site development

Help join in making this site fresher and more useful. Join in the editorial process on the rpm-ed mailing list. This list was announced, by way of an informal charter.

If you are active in RPM development or usage on a platform, or processor architecture which you wish documented here, or have a suggestion, feel free to send it to the Editor.

Formal editorial design and attribution policies are here.

The latest posted editorial road-map is here.

[ Top ] [ Status and Versions ] [ Resources to obtain ] [ User documents ] [ User documents ] [ Development of the package ] [ Developer documents ] [ Site development ]

Last updated: Wed, 2 Nov 2005 15:29:00 -0500

Back to Top page
Copyright © 2002
R P Herrold fbo the RPM community
Columbus OH
Maintained by Owl River Company -- Comments to: rpm editor, please.