- 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:
Fedora Magazine - DNF Command Cheat Sheet: A helpful guide with cheat sheets for the DNF package manager. Fedora Magazine - DNF Cheat Sheet
Red Hat Documentation - Managing Packages with YUM: Offers comprehensive details on using YUM effectively. Red Hat - YUM Guide
DigitalOcean - Introduction to DNF: An introductory tutorial for beginners on using DNF on Fedora. DigitalOcean - Introduction to DNF
LinuxHint - YUM vs DNF: A detailed comparison to understand the differences and benefits of DNF over YUM. LinuxHint - YUM vs DNF
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.