Frequently Asked Question
What is the difference between dnf and yum?
yum ("Yellowdog Updater, Modified") was the high-level package manager on Red Hat and
Fedora systems from 2003 until it was replaced. It was written in Python 2 and had grown
a tangled internal dependency solver that was slow and occasionally produced incorrect
results on complex transactions. dnf ("Dandified YUM") was introduced in Fedora 18
(2013) and became the default in Fedora 22 (2015). It is a rewrite using libsolv;
the same SAT-based solver that powers zypper, and supports modular content,
transaction history with rollback, and Python 3.
The user-facing commands are deliberately similar: dnf install, dnf upgrade,
dnf remove, dnf search. On RHEL 8 and newer (and Rocky, Alma, CentOS Stream), yum
is now a symlink to dnf for compatibility. Fedora 41 and later ship dnf5, a further
rewrite in C++ that is faster again but ships the same surface command set.