Hints and Kinks
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 VersionsThe 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.
Development of the package
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