What are the differences between dnf and apt package managers?


If you have used Fedora before, I didn’t entirely surprise you, but for Centos or RHEL users, DNF (Dandified Yum) is an updated and better version of yum. DNF is a software package manager for Red Hat Package Management -based Linux distro that installs, updates, and removes packages. In this guide, we shall discuss the differences between dnf and apt package managers. Please see How to deploy Ansible AWX on centos 8, and 5 Steps to Fix Outlook continually prompts for passwords on Windows 10 and 11.

Meanwhile, APT, the acronym for advanced packaging tool, is the primary package manager for Debian-based distributions like Ubuntu. At the end of the day, whether it is APT or DNF you are using, they both help us achieve the same objective, which is to be able to install, update, and remove packages.

Therefore, if everything is new to you and you don’t know what yum stands for, it is the acronym for YellowDog Updater Modified. You can find other guides in the link:

DNF tries to keep Yum's CLI compatibility and specifies a tight API for extensions and plugins. Plugins can change or extend DNF's capabilities, as well as give more CLI commands

My issues with YellowDog Updater Modified

Built with Python and as such has its own performance issues. It is very memory-intensive

Not enough information especially when one runs into issues and decides documentation is the next resort. Dependency-reliant and most often throws its own issues

Why you Should use DNF Package

DNF has more robust features and functionalities than yum. For DNF there are a lot of repositories to get help and support from.

Not as memory intensive as yum. It is compatible with Python 2 & 3. It has all the beautiful behaviors that you know with RPM

Can be located in  /etc/dnf/dnf.conf, and it is faster than yum

Also, see Creating an offline local repository in Linux, How to solve Errno 256, and how to fix “The package python-virtualenv has no installation candidate error“.

Installation of DNF Package

To install DNF on RHEL/CentOS 7 systems, you need to set up and enable Epel YUM REPO before installing DNF.

1.# yum install epel-release
2.#yum install DNF

Some useful information about the Apt command

On Ubuntu Debian and associated Linux distributions, apt is a command-line tool for installing, updating, removing, and managing deb packages. It combines the most common commands from the apt-get and apt-cache tools, as well as alternative default values for the several choices.

Apt works for user interactivity. In your shell scripts, users can still use apt-get and apt-cache although apt alone will still get the job done because they are backward compatible

Some examples of dnf vs apt use case

#dnf install <package name>

e.g dnf install httpd


So as you can see you all you need do is just type dnf in place of where you used to type yum

#apt install <package name>

e.g apt install nmap

#dnf upradge <package name >

For example, dnf upgrade nmap

#apt upgrade <package name >

e.g apt upgrade nmap

dnf search httpd

Interesting differences between DNF & APT

Dandified YumAdvanced Package Tool
works with .rpm package formatworks with .deb package format
dnf is the front-end of RPM apt is the front end of DPKG
dnf updates the repo lists automaticallyapt update gets all information from configured source
dnf is used in RHEL, Fedora, CentOS, and other derivatives pf RHELapt is used in Debian and all its derivatives like Ubuntu, Knoppix, etc.
can download and install from URLs directlycannot download and install from URLs directly, it needs .deb packages
doesn’t support one-click installssupports one-click install
dnf remove <software name>apt remove <software name>
dnf upgradeapt upgrade
dnf was first introduced in Fedora in the year 2013first stable version of apt was released in the year 2014
dnf vs apt table


In conclusion, Dnf and apt are package managers as they help with the update, installation, and removal of packages. These two package managers, being the most popular, basically mimic eachother’ss most essential syntactical elements, allowing transitioning between them a breeze.

Notify of

Inline Feedbacks
View all comments
Would love your thoughts, please comment.x