YUM/DNF: Red Hat Package Management
YUM and DNF manage packages on Red Hat systems. DNF is the new YUM.
Here's the thing: DNF is replacing YUM. Learn DNF. It's the future.
DNF: The Modern YUM
Update Package List
sudo dnf check-update # Check for updates
sudo dnf update # Update all packages
My take: DNF is the new YUM. Use it on newer systems.
Install Packages
sudo dnf install package-name
sudo dnf install package1 package2 # Multiple packages
sudo dnf install -y package-name # Auto-confirm
Real examples:
sudo dnf install nginx
sudo dnf install httpd mysql-server
sudo dnf install -y git vim curl
My take: dnf install is what you'll use. Simple. Works.
Remove Packages
sudo dnf remove package-name
sudo dnf remove --noautoremove package-name # Keep dependencies
My take: dnf remove removes packages. Use it.
Search Packages
dnf search keyword
dnf search "web server"
My take: Search when you don't know the exact package name.
Show Package Info
dnf info package-name
My take: Use this before installing. See what you're getting.
YUM: The Legacy Tool
Basic Commands
sudo yum install package-name
sudo yum update
sudo yum remove package-name
sudo yum search keyword
My take: YUM works. But DNF is better. Use DNF if available.
Common Patterns
Update System
sudo dnf update
Install Development Tools
sudo dnf groupinstall "Development Tools"
Clean Up
sudo dnf clean all # Clean cache
sudo dnf autoremove # Remove unused packages
Differences from APT
APT (Debian/Ubuntu):
apt updatethenapt upgradeapt installapt remove
DNF (RHEL/CentOS):
dnf update(does both)dnf installdnf remove
My take: Similar concepts. Different commands. Learn both.
Common Mistakes (I've Made These)
-
Using YUM when DNF available: DNF is better. Use it.
-
Not updating first: Update before installing. Get latest versions.
-
Forgetting sudo: Package management needs root. Use sudo.
-
Not cleaning cache: Cache grows. Clean it occasionally.
-
Removing wrong packages: Be careful. Don't remove system packages.
Real-World Examples
Install Web Server
sudo dnf install httpd
sudo systemctl start httpd
sudo systemctl enable httpd
Install Development Tools
sudo dnf groupinstall "Development Tools"
What's Next?
Now that you understand DNF, let's talk about Snap and Flatpak for modern packages.
Personal note: I learned YUM first. Then DNF came. Now I use DNF. It's faster. It's better. Learn DNF.