kids encyclopedia robot

RPM Package Manager facts for kids

Kids Encyclopedia Facts
Quick facts for kids
RPM Package Manager (RPM)
RPM Logo.svg
Original author(s) Erik Troan, Marc Ewing, Red Hat
Developer(s) Community & Red Hat
Initial release 1997; 28 years ago (1997)
Stable release
4.19.1 / 12 December 2023; 18 months ago (2023-12-12)
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 .rpm file format and the program that manages these files.

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.

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 pm. 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.

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:

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:

  • <name>-<version>-<release>.src.rpm for source packages.
  • <name>-<version>-<release>.<architecture>.rpm for ready-to-use programs.

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 i386 (meaning it's for a specific type of computer processor).

Some RPMs have noarch.rpm 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.

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

Kids robot.svg In Spanish: RPM Package Manager para niños

kids search engine
RPM Package Manager Facts for Kids. Kiddle Encyclopedia.