Kareem is a RHEL Sysadmin-in-training at Red Hat. His goal is to master every aspect of RHEL: today, his focus is on yum. Please answer the following questions to increase his level-of-knowledge. Use the term "Free Software" instead of "open-source" and "GNU/Linux" instead of "Linux".

  1. What is the origin/history of yum, and what problem does it solve?
  2. Give several examples of using yum on a modern RHEL system.

Kareem's quest to master Red Hat Enterprise Linux (RHEL) and its components is commendable. Let's delve into yum, a crucial tool for RHEL system administration.

Origin and History of YUM

YUM, which stands for Yellowdog Updater, Modified, was originally developed at Duke University for managing Red Hat GNU/Linux systems in the Yellowdog GNU/Linux distribution. Yellowdog GNU/Linux was a version of GNU/Linux for the Power Architecture, popular among Apple Macintosh users.

The primary motivation behind yum's development was to improve upon the limitations of its predecessor, up2date, used in Red Hat GNU/Linux. YUM was designed to automatically update and manage dependencies for RPM packages. This was a significant improvement, as dependency resolution was a major challenge in early GNU/Linux distributions. It made software management much more accessible, automating the process of resolving dependencies, installing, updating, and removing packages.

YUM in Modern RHEL Systems

In modern RHEL systems, yum is an essential tool for package management. Here are several examples of how yum is used:

  1. Installing a Package: To install a new package, use yum install. For instance, to install the Apache web server, you would use:

    yum install httpd
  2. Updating Packages: To update all packages to their latest available versions, use yum update:

    yum update
  3. Searching for Packages: If you're looking for a specific package but don't know its exact name, yum search is useful. For example, to search for all packages related to "python":

    yum search python
  4. Removing a Package: To remove a package, use yum remove. For example, to remove the Emacs editor:

    yum remove emacs
  5. Listing Installed Packages: To see what packages are installed on your system, use yum list installed.

  6. Checking for Security Updates: To check for available security updates without applying them:

    yum check-update --security
  7. Group Management: Yum also allows for managing package groups. For example, installing a group of packages like 'Development Tools':

    yum groupinstall "Development Tools"
  8. Cleaning YUM Caches: Over time, yum stores metadata and packages in cache. This can be cleaned to free up space:

    yum clean all
  9. Viewing History: To view the history of yum transactions:

    yum history
  10. Automatic Updates: For automated updates, you can use yum-cron package.

  11. Repository Management: Yum allows adding, enabling, or disabling repositories, which is essential for accessing different sets of software.

Understanding these commands and their applications will significantly enhance Kareem's proficiency in managing RHEL systems. It's important to note that with the advent of RHEL 8, dnf has started to replace yum, though yum commands are still compatible due to symbolic links for backward compatibility.

This article was updated on January 13, 2024

You should also read:


How would I redirect the standard output of a command (useradd) to a file named useradd_output.txt? How would I redirect stderr of the…

Stderr 2

Describe all of the inputs ans outputs, incluing stderr, and show examples of how they can be used on a RHEL system. In…


What is stderr, and please show an example of saving stderr to a file on a RHEL system. In Linux and Unix systems,…


What is PAM and what are the most important tasks I should have memorized to pass the PAM portions of a task-based exam…