RPM Package Manager

From Academic Kids

RPM Package Manager (or RPM, originally called "Red Hat Package Manager") is a package management system primarily intended for Linux. RPM installs, updates, uninstalls, verifies and queries software. RPM is the baseline package format of the Linux Standard Base. Originally developed by Red Hat for Red Hat Linux, RPM is now used by many Linux distributions. It has also been ported to some other operating systems such as NetWare by Novell. [1] (http://www.rpm.org/platforms/)

Contents

The RPM database

Working behind the scenes of package manager is the RPM database. It consists of a doubly linked list that contains all information for all installed RPMs. The database keeps track of all files that are changed and created when a user installs a program and can therefore very easily remove the same files. If the database gets corrupted (which happens easily if the RPM client is killed), the double links ensure that it can often be rebuilt without any trouble. On RedHat systems the database is stored in /var/lib/rpm.

Package label

Every RPM package has a package label, which contains the following pieces of information:

  • the software name
  • the software version (the version taken from original "upstream" source of the software)
  • the package release (the number of times the package has been rebuilt using the same version of the software) this field is also often used for indicating the specific distribution the package is intended for by appending strings like "mdk" (Mandrakelinux), "FC3" (Fedora Core 3), "rh9" (Red Hat Linux 9), "suse93" (SuSE Linux 9.3) etc.
  • the architecture the package was built under (i386, i686, athlon, ppc, etc.)

and the RPM file would normally have the following format:

<name>-<version>-<release>.<arch>.rpm

An example:

nano-0.98-2.i386.rpm

However, note that package label is contained within the file and does not necessarily need to match the name of the file. Source code may also be distributed in RPM packages. Such package labels obviously do not have an architecture part and replaces it with "src". I.e:

libgnomeuimm2.0-2.0.0-3.src.rpm

Additionally, libraries are distributed in two separate packages for each version. One containing the precompiled code and one containing the development files such as header files etc. for the library in question. Those packages have "-devel" appended to their name field. Users need to carefully check so that the version of the development package matches that of the binary package, otherwise the library may very well not work.

Advantages and disadvantages of the format

Advantages of using RPM packages over other ways to acquire and install software often cited are:

  • A uniform way for the user to install programs.
  • Much simpler to uninstall programs.
  • Popularity: lot of packages available, even though they often need recompilation to work in another distribution.
  • Non-interactive installation: makes it easy to automate installation.
  • Original source archive (e.g. .tar.gz, .tar.bz2) included: easy to verify.
  • Cryptographic verification with GPG and md5.
  • DeltaRPMs, which are RPM's equivalent of a patch file, combine themselves with installed RPMs to perform updates on software that was installed by RPM. This is a much more convenient way to update RPM-installed software, since DeltaRPM doesn't require the original package to perform the update.

Disadvantages often cited include:

  • Often has backwards incompatible changes in package format.
  • Incomplete and outdated documentation.
  • Steep learning curve for packaging.
  • Sometimes contradictory package version dependencies, varying by which Linux distribution is using RPM.

RPM has also been criticized for a lack of consistency in package names and content, which can make automatic dependency handling difficult. However, this is not a problem unique to the RPM format, but rather a problem in co-ordination amongst major distributions who use RPM in packaging such as Red Hat, SuSE and Mandrake Linux. When using packages that are from a particular distribution (say Red Hat) or built for a particular distribution (for example Freshrpms [2] (http://freshrpms.net/) for Red Hat), then automatic dependency checking can work, using tools such as apt adapted from the Debian project (see below). A tool exclusively for Mandrake Linux is urpmi, and can help with the so called 'dependency hell'.

Related tools

RPM is often used by another tool for handling dependencies, such as the Yellow dog Updater Modified yum or (the RPM compatible version of) the Advanced Packaging Tool (apt).

Some other package managers are

See also: Archive formats

External references and links

ca:Sistema de paquets rpm da:RPM de:RPM es:RPM it:RPM Package Manager ja:RPM pl:RPM pt:RPM

Navigation

Academic Kids Menu

  • Art and Cultures
    • Art (http://www.academickids.com/encyclopedia/index.php/Art)
    • Architecture (http://www.academickids.com/encyclopedia/index.php/Architecture)
    • Cultures (http://www.academickids.com/encyclopedia/index.php/Cultures)
    • Music (http://www.academickids.com/encyclopedia/index.php/Music)
    • Musical Instruments (http://academickids.com/encyclopedia/index.php/List_of_musical_instruments)
  • Biographies (http://www.academickids.com/encyclopedia/index.php/Biographies)
  • Clipart (http://www.academickids.com/encyclopedia/index.php/Clipart)
  • Geography (http://www.academickids.com/encyclopedia/index.php/Geography)
    • Countries of the World (http://www.academickids.com/encyclopedia/index.php/Countries)
    • Maps (http://www.academickids.com/encyclopedia/index.php/Maps)
    • Flags (http://www.academickids.com/encyclopedia/index.php/Flags)
    • Continents (http://www.academickids.com/encyclopedia/index.php/Continents)
  • History (http://www.academickids.com/encyclopedia/index.php/History)
    • Ancient Civilizations (http://www.academickids.com/encyclopedia/index.php/Ancient_Civilizations)
    • Industrial Revolution (http://www.academickids.com/encyclopedia/index.php/Industrial_Revolution)
    • Middle Ages (http://www.academickids.com/encyclopedia/index.php/Middle_Ages)
    • Prehistory (http://www.academickids.com/encyclopedia/index.php/Prehistory)
    • Renaissance (http://www.academickids.com/encyclopedia/index.php/Renaissance)
    • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
    • United States (http://www.academickids.com/encyclopedia/index.php/United_States)
    • Wars (http://www.academickids.com/encyclopedia/index.php/Wars)
    • World History (http://www.academickids.com/encyclopedia/index.php/History_of_the_world)
  • Human Body (http://www.academickids.com/encyclopedia/index.php/Human_Body)
  • Mathematics (http://www.academickids.com/encyclopedia/index.php/Mathematics)
  • Reference (http://www.academickids.com/encyclopedia/index.php/Reference)
  • Science (http://www.academickids.com/encyclopedia/index.php/Science)
    • Animals (http://www.academickids.com/encyclopedia/index.php/Animals)
    • Aviation (http://www.academickids.com/encyclopedia/index.php/Aviation)
    • Dinosaurs (http://www.academickids.com/encyclopedia/index.php/Dinosaurs)
    • Earth (http://www.academickids.com/encyclopedia/index.php/Earth)
    • Inventions (http://www.academickids.com/encyclopedia/index.php/Inventions)
    • Physical Science (http://www.academickids.com/encyclopedia/index.php/Physical_Science)
    • Plants (http://www.academickids.com/encyclopedia/index.php/Plants)
    • Scientists (http://www.academickids.com/encyclopedia/index.php/Scientists)
  • Social Studies (http://www.academickids.com/encyclopedia/index.php/Social_Studies)
    • Anthropology (http://www.academickids.com/encyclopedia/index.php/Anthropology)
    • Economics (http://www.academickids.com/encyclopedia/index.php/Economics)
    • Government (http://www.academickids.com/encyclopedia/index.php/Government)
    • Religion (http://www.academickids.com/encyclopedia/index.php/Religion)
    • Holidays (http://www.academickids.com/encyclopedia/index.php/Holidays)
  • Space and Astronomy
    • Solar System (http://www.academickids.com/encyclopedia/index.php/Solar_System)
    • Planets (http://www.academickids.com/encyclopedia/index.php/Planets)
  • Sports (http://www.academickids.com/encyclopedia/index.php/Sports)
  • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
  • Weather (http://www.academickids.com/encyclopedia/index.php/Weather)
  • US States (http://www.academickids.com/encyclopedia/index.php/US_States)

Information

  • Home Page (http://academickids.com/encyclopedia/index.php)
  • Contact Us (http://www.academickids.com/encyclopedia/index.php/Contactus)

  • Clip Art (http://classroomclipart.com)
Toolbox
Personal tools