Package management is crucial for installing, updating, and removing software packages on Linux systems. Here’s an overview of the package management tools dnf, yum, and apt, which are commonly used in different Linux distributions:
1. dnf (Dandified YUM):
Distribution: Used primarily in Red Hat-based distributions like Fedora, CentOS 8, and newer versions of RHEL.
Features:
- Dependency resolution: Automatically resolves dependencies when installing or removing packages.
- Fast operation: Utilizes modern libraries and algorithms for efficient package management.
- Modular repository support: Enables managing modular content in repositories.
Commands:
- Installing Packages:
dnf install package_name - Removing Packages:
dnf remove package_name - Updating Packages:
dnf updateordnf upgrade - Searching for Packages:
dnf search keyword - Listing Installed Packages:
dnf list installed
Install ansible:
[root@uadev ~]# dnf install ansible-core
Last metadata expiration check: 0:01:21 ago on Fri 07 Jun 2024 09:52:02 PM IST.
Dependencies resolved.
===============================================================
Package Architecture Version Repository Size
===============================================================
Installing:
ansible-core aarch64 1:2.14.17-1.el9 appstream 2.6 M
Installing dependencies:
git-core aarch64 2.43.0-1.el9 appstream 4.5 M
python3-cffi aarch64 1.14.5-5.el9 baseos 257 k
python3-cryptography aarch64 36.0.1-4.el9 baseos 1.2 M
python3-packaging noarch 20.9-5.el9 appstream 77 k
python3-ply noarch 3.11-14.el9 baseos 106 k
python3-pycparser noarch 2.20-6.el9 baseos 135 k
python3-pyparsing noarch 2.4.7-9.el9 baseos 150 k
python3-resolvelib noarch 0.5.4-5.el9 appstream 34 k
sshpass aarch64 1.09-4.el9 appstream 27 k
Transaction Summary
================================================================
Install 10 Packages
Total download size: 9.1 M
Installed size: 38 M
Is this ok [y/N]:
2. yum (Yellowdog Updater Modified):
Distribution: Historically used in Red Hat-based distributions like CentOS 7 and older versions of RHEL.
Features:
- Dependency resolution: Automatically resolves dependencies like dnf.
- Simplicity: Provides a straightforward interface for managing packages.
- Extensibility: Supports plugins for additional functionality.
Commands:
- Installing Packages:
yum install package_name - Removing Packages:
yum remove package_name - Updating Packages:
yum updateoryum upgrade - Searching for Packages:
yum search keyword - Listing Installed Packages:
yum list installed
3. apt (Advanced Package Tool):
Distribution: Used in Debian-based distributions like Ubuntu and Debian itself.
Features:
- Dependency resolution: Automatically resolves dependencies similar to dnf and yum.
- Cache management: Maintains a local cache of packages for faster operations.
- Package verification: Verifies package integrity before installation.
Commands:
- Updating Package Lists:
apt update - Installing Packages:
apt install package_name - Removing Packages:
apt remove package_name - Upgrading Packages:
apt upgradeorapt dist-upgrade - Searching for Packages:
apt search keyword - Listing Installed Packages:
apt list --installed
Package management tools like dnf, yum, and apt are essential for installing, updating, and managing software packages on Linux systems. While they may have different names and syntax, their core functionalities are similar across distributions, providing users with efficient ways to handle software packages and dependencies. Understanding these tools is crucial for effective system administration and software deployment on Linux platforms.