Difference Between YUM and RPM

Package manager or package management system is a collection of software tools that automate the process of installing, upgrading, configuring, and removing software in the Linux system.

Each Linux distribution uses different package management tools, while the Red Hat-based distros use RPM, YUM and DNF.

In this guide, we will show you the difference between YUM and RPM.

RPM is one of the oldest traditional package managers, designed to work on Red Hat-based systems such as Red Hat Enterprise Linux (RHEL), CentOS, Fedora and openSUSE (which is based on suse Enterprise Linux).

But when it comes to dependency resolution and package update (full system update/upgrade), there is an major drawback of RPM package manager.

Click on this embedded hyperlink: difference between yum and dnf to know more about it.

This means that yum can download and install all required dependencies automatically, but rpm will tell you to install a list of dependencies, and then you have to manually install them. That’s the drawback of RPM.

This is practically impossible and time consuming when you want to install a group of packages using the rpm command.

That’s where the YUM Package Manager comes in handy to solve both the problems.

What’s RPM?

RPM refers to RPM Package Manager (formerly known as Red Hat Package Manager) is a powerful, command-line package management tool developed for the Red Hat operating system.

It is now used as a core component in many Linux distributions such as Centos, Fedora, Oracle Linux, openSUSE and Mageia.

RPM Package Manager allows you to install, upgrade, delete, query and verify packages on RPM-based Linux systems.

RPM files comes with the .rpm extension. The RPM package consists of an archive file, that contains libraries and dependencies for a specific package, that do not conflict with other packages installed on your system.

There are many front-end tools available on Linux to install the RPM package that make the installation process efficient, compared to the RPM tool, especially for handling dependencies.

If you want to know more about the front-end package manager of Linux distributions, visit the link below:

If you would like GUI package manager for Linux, visit the link below:

What’s YUM?

Yum is a free and open-source command-line package-management application for Linux operating systems that uses the RPM Package Manager.

Yum is a front-end tool for rpm that automatically solves dependencies for packages.

It installs RPM software packages from distribution official repositories and other third-party repositories.

Yum allows you to install, update, search and remove packages from your system.

If you want to keep your system up-to-date, you can enable automatic updates via yum-cron.

Also, if needed, it allows you to exclude a package or packages from the yum update.

Yum is installed by default and you do not need to install it seperately.

S.NoRPM (RPM Package Manager)YUM (Yellow Dog Updater, Modified)
1Red Hat introduced RPM in 1997.Yellowdog UPdater (YUP) was developed in 1999-2001 and YUM replaced the original YUP utility in 2003.
2RPM stands for RPM Package manager (formally known as Red Hat package manager)YUM stands for Yellowdog Updater Modified.
3The RPM File Naming Convention is as follows.
httpd – Name of the actual package
2.4.6 – Version of package release
92 – Subversion of package release
el7 – Red Hat Version
x86_64 – Hardware architecture
.rpm – File extension
It uses the rpm database in the backend.
4It doesn’t resolve dependencies, you must install them manually.It automatically resolves dependencies and install them simultaneously (any package will be installed with its dependencies).
5This allows you to install multiple versions of the package at once.This does not allow and shows that the package is already installed.
6When installing a package using the RPM command you must provide the exact location of the “.rpm” package.You can install any package available in the repository, but you only need to know the package name.
7RPM is not dependent on YUMIt is a frontend tool that uses the RPM package manager on the backend to manage packages.
8It is difficult to manage RPM in terms of package installation.YUM is the easiest way to manage RPM packages.
9RPM doesn’t allow you to upgrade the entire system to the latest available version.YUM allows you to upgrade your system to the latest available version (minor version upgrade, for example, 7.0 to 7.x).
10RPM doesn’t allow you to automatically update/upgrade packages installed on your system.YUM allows you to automatically update/upgrade the updates available on your system.
11It doesn’t use the online repository to perform any actions.It relies entirely on the online repository to do all the work.
12RPM is a package format and it is a low-level package manager that does basic things.This is a top-level front-end package management tool that can do everything you need.

Closing Notes

In this guide, we have shown you several differences between RPM and YUM.

If you have any questions, please feel free to add your comments below, and we will address them at the earliest. Happy Learning!

About Magesh Maruthamuthu

Love to play with all Linux distribution

View all posts by Magesh Maruthamuthu

2 Comments on “Difference Between YUM and RPM”

    1. Yes, for instance rpm & zypper knows that the nano package is already installed on the system.

      linuxgeek@2daygeek:~> rpm -qa nano

      linuxgeek@2daygeek:~> zypper info nano
      Information for package nano:
      Repository : Main Repository
      Name : nano
      Version : 4.9.2-lp152.1.2
      Arch : x86_64
      Vendor : openSUSE
      Installed Size : 1.5 MiB
      Installed : Yes
      Status : up-to-date
      Source package : nano-4.9.2-lp152.1.2.src
      Summary : Pico editor clone with enhancements
      Description :
      GNU nano is a small and friendly text editor. It aims to emulate
      the Pico text editor while also offering a few enhancements.

Leave a Reply

Your email address will not be published. Required fields are marked *