What is DNF, and how does it relate to YUM?
DNF ("Dandified Yum") is the modern high-level package manager for RPM-based distros; it's the successor to YUM, and on RHEL 9 yum is just a symlink to dnf.
Where rpm only manipulates a single local file, DNF manages software from repositories: it searches, downloads, and — crucially — resolves dependencies automatically, pulling in every other package the one you asked for needs.
It's the evolution of the older YUM:
| YUM | DNF | |
|---|---|---|
| Language | Python 2 | Python 3 |
| Dependency solver | Custom (slow) | libsolv (fast, reliable) |
| Plugin/API | Limited | Clean plugin interface |
History: DNF was forked from YUM in 2012, appeared in Fedora 18, replaced YUM as Fedora's default in Fedora 22, and is the standard on RHEL 9. For backward compatibility, the yum command still exists but now just points at DNF:
ls -l /bin/yum # yum -> dnf-3
Why this matters: the same DNF commands work across RHEL, Fedora, Rocky Linux, and AlmaLinux — learn them once. And the mental split is clean: rpm = the format and low-level operations on one file; dnf = the smart manager that talks to repositories and handles dependencies.
Go deeper:
DNF (software) — Wikipedia — the YUM-to-DNF lineage, libsolv solver, and Fedora/RHEL adoption.
DNF command reference — the official command documentation.