RPM Package Manager facts for kids
![]() |
|
Original author(s) | Erik Troan, Marc Ewing, Red Hat |
---|---|
Developer(s) | Community & Red Hat |
Initial release | 1997 |
Stable release |
4.19.1 / 12 December 2023
|
Written in | C, Perl |
Operating system | Linux, Unix-like |
Available in | 40 languages |
Type | Package management system |
License | GPL |
RPM Package Manager (RPM) is like a digital toolbox for managing software on computers. It helps you install, update, and remove programs easily. The name RPM refers to both the special
file format and the program that manages these files..rpm
RPM was first made for Linux distributions, which are types of computer operating systems. The `.rpm` file format is a standard way to package software for many Linux systems.
Even though it started with Red Hat Linux, RPM is now used by many other popular Linux systems. These include PCLinuxOS, Fedora, AlmaLinux, CentOS, openSUSE, OpenMandriva, and Oracle Linux. It can also work on other operating systems like Novell NetWare and IBM's AIX.
An RPM package can hold any kind of files. Most RPM files are "binary RPMs." These contain the ready-to-use version of a software program. There are also "source RPMs" (SRPMs). These hold the original code used to build a program. SRPMs usually end with ".src.rpm" and are used by developers.
Contents
How RPM Started: A Brief History
RPM was created in 1997 by Erik Troan and Marc Ewing. They based it on earlier software tools. These tools helped them learn how to make a better system.
One of these older tools was called
. It was made in 1995 for Red Hat Software. pm
helped keep track of installed software. It also made sure that original software parts were kept safe.pm
Cool Features of RPM
For someone who manages computer systems, using a package manager like RPM is very helpful. It makes installing and updating software much simpler. It also helps keep everything consistent. Plus, these tasks can be done automatically.
Here are some cool things RPM can do:
- Check for Safety: RPM packages can be checked to make sure they are real and haven't been changed. This uses special digital signatures.
- Original Code Included: Source RPMs (SRPMs) include the original software code. This makes it easier to check if everything is correct.
- Small Updates: RPM can do "delta updates." This means it only downloads the small changes needed to update software. It doesn't need to download the whole program again.
- Automatic Checks: RPM can automatically figure out what other software a program needs to work. This helps avoid problems when installing new programs.
Managing Software on Your Computer
Software packages often come from a specific Linux distribution. They can also be made by other groups. Sometimes, programs need other programs to work. This can create "dependency hell" if not managed well. RPM helps handle these connections.
Online Software Stores: Repositories
RPM packages are often stored online in central places called "repositories." Think of these as big online stores for software. Your computer can connect to these stores to find and download programs. Many places also have their own local repositories. These can be copies of online stores or their own collections of useful RPMs.
Easy-to-Use Tools: Front Ends
There are many tools that make using RPM even easier. These tools help you find and install RPMs from online stores. They also help solve those "dependency" problems.
Some popular tools include:
- yum: Used in Fedora Linux and Red Hat Enterprise Linux.
- DNF: A newer tool, now the default in Fedora Linux and Red Hat Enterprise Linux 8.
- Zypper: Used in openSUSE and SUSE Linux Enterprise.
- urpmi: Used in Mandriva Linux and Mageia.
- apt-rpm: A version of a tool from Debian, used in PCLinuxOS.
Your Computer's RPM Database
Behind the scenes, RPM uses a special database. This database keeps track of all the RPMs installed on your computer. It remembers every file that was changed or added when you installed a program. This way, RPM can easily remove the program later. If this database ever gets damaged, it can be fixed with a simple command.
How RPM Packages Are Described
Even though the RPM file format is the same everywhere, how different Linux systems use it can vary.
Package Names and Labels
An RPM package usually comes as a single file. Its name often looks like this:
for source packages.<name>-<version>-<release>.src.rpm
for ready-to-use programs.<name>-<version>-<release>.<architecture>.rpm
For example, in
:libgnomeuimm-2.0-2.0.0_3.i386.rpm
- The name is
.libgnomeuimm
- The version is
.2.0
- The release is
.2.0.0_3
- The architecture is
(meaning it's for a specific type of computer processor).i386
Some RPMs have
in their name. This means they work on any computer. These might contain pictures or text for other programs. They can also hold scripts written in languages like Python.noarch.rpm
Each RPM also has a "package label" inside. This label contains:
- The software's name.
- The software's version (from the original creators).
- The package release (how many times it's been rebuilt). This often includes codes like "fc4" for Fedora Core 4.
- The computer architecture it was built for (like i386, x86_64).
How Libraries Are Packaged
Libraries are special pieces of code that other programs use. They are often split into two packages for each version:
- One package has the ready-to-use code for running programs.
- The second package has files for developers to build new programs.
These developer packages usually have "-devel" added to their name.
Inside an RPM File
An RPM file has four main parts:
- The Lead: This part tells the computer it's an RPM file.
- The Signature: This helps make sure the file is complete and authentic.
- The Header: This holds important information like the package name, version, and a list of files.
- The File Archive: This is where the actual software files are stored. They are usually compressed to save space.
The "Recipe" for an RPM: SPEC File
To create an RPM package, developers use a "spec file." This file is like a recipe. It tells RPM how to build, install, and clean up a package. Spec files usually end with ".spec." They are often found inside SRPM files, along with the original software code.
Source RPMs (SRPMs)
A typical RPM is ready-to-install software. But the original code can also be shared. This is done in an SRPM. An SRPM includes the "SPEC" file (the recipe) and the original source code. This allows users to compile, or even change, the code themselves.
Sometimes, a software package only contains scripts that work on any computer. In this case, the developer might only provide an SRPM. This SRPM can still be installed directly.
NOSRC: A Special SRPM
This is a special kind of SRPM. It has the "SPEC" file and sometimes patches, but it doesn't include the source code. This usually happens because of licensing rules.
Different Versions of RPM
As of 2010, there were two main versions of RPM being developed. One was led by the Fedora Project and Red Hat. The other was led by a different group.
RPM.org Version
The rpm.org community has been updating their version of RPM regularly. This version is used by many popular Linux distributions. These include Fedora Linux, Red Hat Enterprise Linux, openSUSE, Mageia, and OpenMandriva Lx.
RPM v5 (Older Version)
An older version, RPM version 5, was released in 2007. This version was used by some distributions like Wind River Linux and Rosa Linux. However, many of these distributions have now switched back to the rpm.org version.
More to Explore
In Spanish: RPM Package Manager para niños
- dpkg — another popular package management system used by Debian and its related systems.
- List of RPM-based Linux distributions — find out more Linux systems that use RPM.