Pages

Thursday, June 29, 2017

DNF – The Next Generation Package Management Utility for RPM Based Distributions

A recent news draw the attention of many Linux users, professionals and learners that “DNF” (stands for nothing officially) is going to replace “YUM” package management utility in distributions viz., Fedora, CentOS, RedHat, etc. that are using RPM Package Manager.
The news was quite surprising and more or less a packager manager is attached to the identity of a Linux distribution which is responsible for installing, updating and removing packages.

DNF Command in Linux
DNF: Next Generatin Yum Tool
YUM (stands for Yellowdog Updater, Modified) is a free and open-source command-line based utility released under GNU General Public License and is primarily written in Python Programming language. YUM was developed to manage and update RedHat Linux at Duke University, later it got wide recognition and become the package manager of RedHat Enterprise Linux, Fedora, CentOS and other RPM based Linux distribution. It is often called as “Your Package Manager”, unofficially frequently by Linux Professionals.
Read Also
  1. YUM (Yellowdog Updater, Modified) – 20 Commands for Package Management
  2. RPM (Red Hat Package Manager) – 20 Practical Examples of RPM Commands

The Idea to Replace Yum With DNF

Ale¨ Kozumplík, the developer of DNF project is a RedHat Employee. He says:
“For the first time in the year 2009 while working on ‘Anaconda‘ – The System Installer, he had an insight working of Linux. He wanted to work on a totally different project which let him exploring packaging tool of Fedora.”
Ale¨ Kozumplík said – he has been tired of explaining that DNF stands for nothing, it is a package manager name answer so it is, nothing else. It has to be named something that don’t conflicts with YUM and hence it was named DNF.
Short comings of Yum that led to the foundation of DNF:
  1. Dependency resolution of YUM is a nightmare and was resolved in DNF with SUSE library ‘libsolv’ and Python wrapper along with C Hawkey.
  2. YUM don’t have a documented API.
  3. Building new features are difficult.
  4. No support for extensions other than Python.
  5. Lower memory reduction and less automatic synchronization of metadata – a time taking process.
Ale¨ Kozumplík, says he has no choice other than forking YUM and develop DNF. The YUM package maintainer were not ready to implement these changes. YUM has about 59000 LOC whereas DNF has 29000 LOC (Lines of Code).
      ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
                                                    ► Read more: http://adf.ly/1nBXbL
      ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

No comments:

Post a Comment