During the initial Linux installation, larger selection of programs is installed by default, but there may be occasions where a user needs new programs installed. Some time back, users were required to compile and build source code to install a new program. But now, users can easily install pre-built programs called packages. Package management tools are used to install, update and remove packages from the Linux distributions. RPM is a popular package manager used on Linux platforms. YUM is a high-level frontend for RPM. RPM was developed by Red Hat, while YUM (Yellowdog Updater, Modified) was originally developed at Duke University for managing Red Hat systems in the physics laboratory. RPM has basic command-line functionality, can obtain packages from the internet, keep installed packages in a database and can be integrated with other user-friendly GUIs. YUM provides several other added functionalities on top of the existing functionality of RPM.
What is RPM?
RPM was introduced by Red Hat in 1995. It was originally known as Red Hat Package Manager, but now it is known as RPM Package Manager. RPM is the default package manger in Linux Standard Base (LSB). It was originally intended for the Red Hat Linux (which was discontinued in 2004), but it is been used by many other GNU/Linux distributions as well as some other operating systems (e.g. Novell NetWare and IBM AIX). RPM can query, verify, install, upgrade, remove packages and perform other miscellaneous functions. The command to invoke RPM is rpm and the extension of RPM files is also .rpm. Typically, the term RPM is used to refer to both the software and the file type. RPM contains the complied software, while another related SPRM files contain either the source or scripts of the corresponding non-compiled package. Cryptographic verification of RPM packages is allowed through GPG and MD5. Corresponding patch files (PatchRPM and DeltaRPM) can update the software installed by RPM. Furthermore, RPM evaluates dependencies at build-time automatically.
What is Yum?
Yum (Yellowdog Updater, Modified) is a package manger for RPM-compatible Linux distributions. It is actually a high-level wrapper for RPM. It is an open source package manager, which provides command-line capability. However, there are existing tools that can provide GUI functionality to YUM. It is a full rewrite of YUP (Yellowdog Updater), which was developed by Duke. YUM is now being used in Red Hat Enterprise Linux (RHEL), Fedora, CentOS and Yellow Dog Linux (replacing YUP). Automatic update of software is accommodated through yum-updateesd, yum-updatenboot, yup-cron or PackageKit packages. YUM XML repository (collections of packages) is the first of its kind for RPM-based systems.
What is the difference between Yum and RPM?
RPM is a package manager for Linux-based systems, while YUM is package manager utility for RPM-based Linux distributions. In other words, YUM is a frontend (high-level wrapper) for RPM. RPM could be identified as relatively low level, compared to YUM. YUM uses the information in the RPM databases to make it easier to manage all packages stored on the system. In addition to providing a high-level frontend to RPM, YUM adds automatic updates and dependency management. Unlike RPM, YUM offers the ability to work with repositories.