Posted on
commands

Using `yum` or `dnf` for Package Management

Author
  • User
    Linux Bash
    Posts by this author
    Posts by this author

Mastering Package Management in Linux with yum and dnf

For Linux users, whether you're maintaining a server or using a desktop, managing software packages efficiently is crucial. Two popular package management tools that help in this are yum and dnf. These tools are used primarily by RPM-based Linux distributions such as Fedora, CentOS, and RHEL, providing users with a powerful way to handle software installation, upgrade, and removal.

Understanding yum

yum stands for "Yellowdog Updater, Modified" and has been a default package manager for CentOS and RHEL until the release of RHEL 8 and CentOS 8. It utilizes repositories—an online or local storage location of RPM packages and metadata—to resolve dependencies and install software packages easily.

Key Features of yum:

  • Automatic Dependency Resolution: Automatically handles the dependencies of packages to ensure a successful installation without manually installing each dependency.

  • Repository Management: Effortlessly manage and configure software repositories.

  • Group Package Installation: Facilitates the installation of groups of related packages.

  • Plugins Support: Extends functionality with an array of available plugins.

Common yum Commands:
  • yum install [package_name]: Installs a package.

  • yum remove [package_name]: Removes a package.

  • yum update [package_name]: Updates specified packages. If no package is named, all packages are updated.

  • yum search [keyword]: Searches the repositories for a keyword.

  • yum clean all: Clears the local cache of retrieved package files.

Transition to dnf

dnf or "Dandified Yum" is the next-generation version of yum. Introduced in Fedora 18 and adopted as the default package manager in Fedora 22, it has also become the default for CentOS 8 and RHEL 8. dnf aims to improve on yum by providing faster and more robust dependency management.

Advantages of dnf over yum:

  • Improved Performance: dnf features better memory management and faster problem resolution algorithms.

  • Modern Codebase: Written in Python 3, dnf includes clean, well-documented APIs for developers.

  • Automatic Synchronization: Regularly synchronizes metadata from enabled repositories, ensuring accuracy in package management.

  • Enhanced Dependency Resolution: Offers more accurate and dependable dependency handling.

Key dnf Commands:
  • dnf install [package_name]: Installs a package.

  • dnf remove [package_name]: Removes a package.

  • dnf upgrade [package_name]: Updates specified packages. If no package is named, all packages are upgraded, including the system kernel.

  • dnf list installed: Lists installed packages.

  • dnf repolist: Lists available repositories.

Tips for Effective Package Management

Regardless of whether you are using yum or dnf, here are a few tips to effectively manage your packages: 1. Keep Your System Updated: Regular updates ensure security and stability. Use yum update or dnf upgrade routinely. 2. Clean Cache Regularly: This frees disk space and reduces problems due to corrupt metadata. Use yum clean all or dnf clean all to maintain a clean cache. 3. Use Transaction History: dnf history allows you to review and undo transactions, which is invaluable during troubleshooting. 4. Enable and Prioritize Repositories: Manage what software sources your package manager uses including priorities which can be crucial for stability and security.

Conclusion

Whether you choose yum or its more modern counterpart dnf, mastering these tools will significantly enhance your capability to maintain and manage software on Linux systems. These managers not only simplify installations and updates but also introduce robust mechanisms for handling complex dependency trees and software groups, making them indispensable tools for today's Linux professionals.

Further Reading

For those interested in further exploring the capabilities and use cases of yum and dnf, here are five useful resources:

  1. Fedora Magazine - DNF Command Cheat Sheet: A helpful guide with cheat sheets for the DNF package manager. Fedora Magazine - DNF Cheat Sheet

  2. Red Hat Documentation - Managing Packages with YUM: Offers comprehensive details on using YUM effectively. Red Hat - YUM Guide

  3. DigitalOcean - Introduction to DNF: An introductory tutorial for beginners on using DNF on Fedora. DigitalOcean - Introduction to DNF

  4. LinuxHint - YUM vs DNF: A detailed comparison to understand the differences and benefits of DNF over YUM. LinuxHint - YUM vs DNF

  5. LinuxConfig - DNF Command Examples: Provides practical examples on how to use various dnf commands for everyday package management. LinuxConfig - DNF Command Examples

These resources offer a range of perspectives and details suitable for users at different expertise levels, from beginners to advanced system administrators.