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.