| |
|
Home
|
| Red Hat Linux 8.0: The Official Red Hat Linux Customization Guide |
|---|
| Prev | | Next |
Chapter 31. Package Management with RPM The RPM 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 Package Management Tool to
perform many RPM commands. Refer to Chapter 32 for
details.
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 between "pristine"
sources and your patches along with 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.
|
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 completely 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 preserved across
upgrades, so you won't lose your customizations. There are no
special upgrade files needed 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.
- System Verification
Another powerful feature is the ability to verify packages. If
you are worried that you deleted an important file for some
package, simply verify the package. You will be notified of any
anomalies. At that point, you can reinstall the package if
necessary. Any configuration files that you modified are
preserved during reinstallation.
- Pristine Sources
A crucial design goal was to allow the use of "pristine" software
sources, as distributed by the original authors of the software.
With RPM, you have the pristine sources
along with any patches that were used, plus complete build
instructions. This is an important advantage for several reasons.
For instance, if a new version of a program comes out, you do not
necessarily have to start from scratch to get it to compile. You
can look at the patch to see what you might
need to do. All the compiled-in defaults, and all of the changes
that were made to get the software to build properly are easily
visible using this technique.
The goal of keeping sources pristine may only seem important for
developers, but it results in higher quality software for end
users, too. We would like to thank the folks from the BOGUS
distribution for originating the pristine source concept.
|
|
|
|
|
|
|
|
Disclaimer: For authoritative source or latest update to this
documentation, please refer to http://www.redhat.com/docs/manuals/linux/ |
|
 |
|
|
|
Quotes: It is better to know some of the questions and all the answers.
|
|
|
|
|
|
|