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".
- What is the origin/history of yum, and what problem does it solve?
- 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:
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
Updating Packages: To update all packages to their latest available versions, use
Searching for Packages: If you're looking for a specific package but don't know its exact name,
yum searchis useful. For example, to search for all packages related to "python":
yum search python
Removing a Package: To remove a package, use
yum remove. For example, to remove the Emacs editor:
yum remove emacs
Listing Installed Packages: To see what packages are installed on your system, use
yum list installed.
Checking for Security Updates: To check for available security updates without applying them:
yum check-update --security
Group Management: Yum also allows for managing package groups. For example, installing a group of packages like 'Development Tools':
yum groupinstall "Development Tools"
Cleaning YUM Caches: Over time, yum stores metadata and packages in cache. This can be cleaned to free up space:
yum clean all
Viewing History: To view the history of yum transactions:
Automatic Updates: For automated updates, you can use
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 commands are still compatible due to symbolic links for backward compatibility.