DNF, Fedora’s new Package Manager
The currrent Package Manager for Fedora, CentOS and RHEL is YUM. Not for long. With the release of Fedora 22 (on 26th May 2015) YUM will be replaced by DNF. What will change? What are the new features? And most importantly what will this mean to you?
An old package manager
If you don’t know what a package manager is I highly suggest reading my article about it. The first package manager for Fedora was YUP: Yellowdog Updater. YUP was slow and had to download the entire RPM to resolve dependencies. After trying to extend YUP, it became clear that it wasn’t possible to enhance it and keep the existing code. Fast forward: a full rewrite of YUP leads to YUM (Yellowdog Update, Modified), this was in the early 2001/2/3. Now, YUM was great, and it still is today, however it isn’t very smart at resolving dependencies, so another tool was invented: DNF (Dandified YUM). The principal reason DNF was built is to address the poor speed and high memory usage of YUM, and of course to implement a better dependency resolver.
DNF, toward a faster package management
DNF will solve the problems of YUM, by starting there. DNF is a fork of YUM, but uses different external libraries. It uses libsolv and hawkey to resolve dependencies (libsolv was developed to be used by SUSE’s Zypper package manager). Aside from these two it will also use libcomps and librepo to handle metadata. All of these components lead to a better and of course faster process. However not all that glisters is gold as stated by this article.
When, and what will change for me?
DNF has been available since Fedora 18 as an alternative to YUM, but in Fedora 22 it will completely replace it. Fedora 22 was just released yesterday so, we’re already in a hurry. But what will change for me? Well, good news for you! ALMOST nothing. DNF is designed to be a drop-in replacement for YUM, so even older scripts will work during the transition. In the case of calling YUM instead of DNF a warning will be issued. This means you will have to learn less things. Almost all commands in YUM will be the same, there are however a few differences that I suggest to look at. Nothing worrisome, however better preventing than curing.
In the end not much will change, except for speed and downloaded metadata (increased in DNF compared to YUM). Well, are you ready now to take the first step?
Image courtesy of Beck Gusler.
Latest posts by mark (see all)
- Rook: storage orchestration for Kubernetes - 17 July 2019
- Kubernetes networking for beginners (how to not get eaten) - 10 July 2019
- Docker, Docker-CE, Docker-EE and Moby, which one do I pick? - 3 July 2019