Installation guide
Chapter 25.
Package Management with RPM
The Red Hat Package Manager (RPM) is an open packaging system, available for anyone to
use, which runs on Red Hat Linux as well as other Linux and UNIX systems. Red Hat, Inc.
encourages other vendors to use RPM for their own products. RPM is distributable under
the terms of the GPL.
For the end user, RPM makes system updates easy. Installing, uninstalling, and upgrading
RPM packages can be accomplished with short commands. RPM maintains a database of
installed packages and their files, so you can invoke powerful queries and verifications on
your system. If you prefer a graphical interface, you can use Gnome-RPM to perform many
RPM commands.
During upgrades, RPM handles configuration files carefully, so that you never lose your
customizations — something that you will not accomplish with regular .tar.gz files.
For the developer, RPM allows you to take software source code and package it into source
and binary packages for end users. This process is quite simple and is driven from a single
file and optional patches that you create. This clear delineation of "pristine" sources and your
patches and build instructions eases the maintenance of the package as new versions of the
software are released.
Note
Because RPM makes changes to your system, you must be root in order to install, remove, or upgrade
an RPM package.
25.1. RPM Design Goals
In order to understand how to use RPM, it can be helpful to understand RPM’s design goals:
Upgradability
Using RPM, you can upgrade individual components of your system without com-
pletely reinstalling. When you get a new release of an operating system based on RPM
(such as Red Hat Linux), you don’t need to reinstall on your machine (as you do with
operating systems based on other packaging systems). RPM allows intelligent, fully-
automated, in-place upgrades of your system. Configuration files in packages are pre-
served across upgrades, so you won’t lose your customizations. There are no special
upgrade files need to upgrade a package because the same RPM file is used to install
and upgrade the package on your system.
Powerful Querying
RPM is designed to provide powerful querying options. You can do searches through
your entire database for packages or just for certain files. You can also easily find out
what package a file belongs to and from where the package came. The files an RPM
package contains are in a compressed archive, with a custom binary header containing
useful information about the package and its contents, allowing you to query individual
packages quickly and easily.