When I started my distro-hopping journey experimenting with various Linux distros, I noticed a pattern where one set of distros used dnf or yum commands while the other set of distros used the apt command to install software on my system.
Let’s go ahead and look at a list of Linux Distros that use the yum or dnf commands.
List of Distros that use Yum or DNF
- RedHat Enterprise Linux
- Oracle Enterprise Linux
and the list can go on and on!
But why do all these distros use yum/dnf and more importantly why do others don’t? Let’s address these questions in the coming sections!
Why do all these distros use Yum or DNF?
To understand this we must first address the question “what are package managers?” So let’s see that first and then come back to this question.
What are Package managers?
The package manager’s duty in a Linux system is to manage the installing, removing, upgrading and downgrading the software packages.
I suggest you read this article
to understand it better. The above article explains
- what are packages
- contents of packages
- need for package managers
- functions of package managers and
- architecture of package managers.
If you haven’t already, go ahead and read that article and come back to this one!
Now that you have understood what package managers are, let’s go and look at 2 main types of distros
- original distros and
- derivative distros
Making a Linux distro from zero involves a lot of work to put all the packages and the Linux kernel together into a single “distributable” Operating system.
Original distributions are those that are made this way from zero. In other words, these original ones take the kernel, GNU utilities, application software, etc. and combine them into an installable operating system and distribute them to the end-users usually over the internet. Popular examples of original distros include Debian, RedHat, Slackware, etc.
Derived distros are ones that take one of these original distributions, make some changes to it, so that its more suitable for a specific purpose and then distribute them as an installable operating system.
RedHat is the original distro here that used “yum” and “dnf” and all the distros derived from it also use the same package management system as their defaults.
Examples of derived distros include all the distros in the list shown at the beginning of the article that uses yum or dnf (other than RedHat Enterprise Linux of course!)
You can have a look at the entire family tree of Linux over at distrowatch.com in this link
List of other famous Package Managers
Some of the other famous package managers can include the following
- dpkg (Debian Package Manager) & apt: Debian and most its derivatives
- pacman/AUR : Arch Linux
- Portage/emerge: Gentoo
- Nix/Guix : Slackware
Can you use yum or DNF commands on the Debian family?
Yes, you can use the “dnf” commands on other systems too. But like I explained in this article dnf can only work with packages that follow the .rpm format. So the packages you that we are trying to install or remove or update must be in the .rpm format!
For example, you can’t open an excel “.csv” document using Microsoft word and expect it to work just fine. Similarly, DNF can only work with .rpm files!
You can still use dnf on Debian based distros or other Linux distros using tools like “alien” which converts between .deb and .rpm package formats, but the hassle to make everything work is not worth the effort, as conversions will bring their own set of problems in some circumstances.
So my advice is to stick to the default package managers that come with the Distros and learn their commands instead of trying to fit a square peg into a round hole!
And with that, I will conclude this article!
I hope you guys enjoyed this article and learned something useful.
If you liked the post, feel free to share this post with your friends and colleagues!