Red Hat Package Manager (RPM)


The RPM refers to two things: software packaged in the .rpm file format, and the package manager itself. RPM was intended primarily for GNU/Linux distributions; the file format is the baseline package format of the Linux Standard Base.

Red Hat Package Manager (RPM)The RPM originally developed by Red Hat for Red Hat Linux, RPM is now used by many Linux distros. It has also been ported to some other operating systems, such as Novell NetWare (as of version 6.5 SP3) and IBM's AIX as of version 4.

The RPM originally standing for "Red Hat Package Manager", RPM now stands for "RPM Package Manager", a recursive acronym.

Features of RPM:
  • RPM packages can be cryptographically verified with GPG and MD5.
  • Original source archive(s) (e.g. .tar.gz, .tar.bz2) are included in SRPMs, making verification easier
  • PatchRPMs and DeltaRPMs, the RPM equivalent of a patch file, can incrementally update RPM-installed software

Several front ends to RPM that ease the process of obtaining and installing RPMs and in resolving their dependencies include:
  • yum used in Fedora, CentOS-5, Red Hat Enterprise Linux 5 and above, Scientific Linux, Yellow Dog Linux and Oracle Enterprise Linux.
  • up2date used in Red Hat Enterprise Linux and CentOS (CentOS-3 and CentOS-4).
  • Synaptic Package Manager used in PCLinuxOS.
  • Zypper used in openSUSE, SUSE Linux Enterprise and Ark Linux.
  • urpmi used in Mandriva Linux.
  • apt-rpm, a port of Debian's Advanced Packaging Tool (APT).
  • Smart Package Manager, used in Unity Linux, available for many distributions including Fedora
Working behind the scenes of the package manager is the RPM database, stored in /var/lib/rpm. It uses Berkeley DB as its back-end. It consists of a single database (Packages) containing all of the meta information of the installed rpms. Multiple databases are created for indexing purposes, replicating data to speed up queries.

The database is used to keep track of all files that are changed and created when a user (using RPM) installs a package, thus enabling the user (via RPM) to reverse the changes and remove the package later. If the database gets corrupted (which is possible if the RPM client is killed), the index databases can be recreated with the rpm --rebuilddb command.



Tags:
linux and web hosting, linux dedicated, linux unix,linux courses, unix training, using linux