User:ScotXW/DNF (software)

{{Infobox software

| name =

| title = DNF

| logo =

| logo caption =

| logo_size =

| logo_alt =

| screenshot =

| caption =

| screenshot_size =

| screenshot_alt =

| collapsible =

| author = Red Hat

| developer =

| released = {{Start date and age|2013|05|01}}

| discontinued =

| latest release version = 0.5.5

| latest release date = {{Start date and age|2014|05|07}}

| latest preview version =

| latest preview date =

| status =

| programming language = Python

| operating system = Linux

| platform =

| size =

| language = {{cite web |url=https://github.com/akozumpl/dnf/tree/master/po |title=dnf translation files}}

| language count =

| language footnote =

| genre = package management system

| license = GNU General Public License

| website = {{URL|http://dnf.baseurl.org/}}

}}

DNF (Dandified Yum) is the new package management system to replace yum. It does package management using RPM, libsolv and hawkey libraries. For metadata handling and package downloads it utilizes librepo. To process and effectively handle the comps data it uses libcomps.

There is another reason that Yum is being targeted for replacement: it uses its own, iterative dependency-resolution mechanism. More recent (and better performing) schemes for doing dependency resolution exist, and one, in the form of the satisfiability solving library libsolv, has been adopted by several other projects (including, of course, libsolv's origin: openSUSE's zypper package manager).

Documentation

  • http://akozumpl.github.io/dnf/
  • https://github.com/akozumpl/dnf/wiki
  • {{man|8|dnf|fedora||inline}}
  • {{man|8|dnf.conf|fedora||inline}}

Systemd obsoletes ConsoleKit[http://www.freedesktop.org/wiki/Software/ConsoleKit/ ConsoleKit office website] and provides a replacement for sysvinit, initscripts, pm-utils, inetd, acpid, syslog, watchdog, cgrulesd, cron, atd.

class="wikitable sortable" style="text-align:left"

! sysvinit !! systemd

/etc/init.d/nginx startsystemctl start nginx.service
/etc/init.d/nginx stopsystemctl stop nginx.service
/etc/init.d/nginx reloadnone, uses stop+start instead
/etc/init.d/nginx restartnone, uses stop+start instead

  • {{man|1|systemd|fedora||inline}}
  • {{man|1|systemadm|fedora||inline}}
  • {{man|1|journalctl|fedora||inline}}
  • {{man|1|loginctl|fedora||inline}}
  • {{man|5|systemd.unit|fedora||inline}}
  • {{man|5|systemd.resource-management|fedora||inline}}
  • {{man|7|systemd.special|fedora||inline}}
  • {{man|1|wall|fedora||inline}}
  • {{man|5|systemd.preset|fedora||inline}}
  • {{man|1|systemctl|fedora||inline}}
  • {{man|1|systemd-nspawn|fedora||inline}}

systemctl status nginx.service

journalctl -xn

See the http://www.freedesktop.org/wiki/Software/systemd/InterfacePortabilityAndStabilityChart/

= Changes in DNF CLI compared to Yum =

  • http://akozumpl.github.io/dnf/cli_vs_yum.html

Dependencies

= libsolv =

  • https://github.com/openSUSE/libsolv
  • a free package dependency solver using a satisfiability algorithm.
  • for solving packages and reading repositories
  • C, New BSD License

= hawkey =

  • https://github.com/akozumpl/hawkey
  • High-level API for the libsolv library
  • This is hawkey, library providing simplified C and Python API to libsolv.
  • C, license is LGPLv2+

= librepo =

  • https://github.com/tojaj/librepo
  • A library providing C and Python (libcURL like) API for downloading linux repository metadata and packages
  • C, license is LGPLv2+

= libcomps =

  • https://github.com/midnightercz/libcomps
  • Libcomps is alternative for yum.comps library. It's written in pure C as library and there's bindings for python2 and python3
  • C, license is GPLv2+

Adoption

dnf has been available since Fedora 18 (from 2013-01-15).

Press

  • [http://lwn.net/Articles/503581/ DNF, which may or may not replace Yum] 2012-06-27
  • [http://lwn.net/Articles/580223/ DNF and Yum in Fedora] 2014-01-15
  • [http://lwn.net/Articles/580682/ Why write a new package manager anyway?] 2014-01-16
  • https://github.com/akozumpl/dnf
  • http://www.linux-magazine.com/Online/Features/Will-DNF-Replace-Yum
  • http://fedoraproject.org/wiki/Features/DNF
  • http://fedoraproject.org/wiki/Changes/ReplaceYumWithDNF Make it default in Fedora 22
  • [http://www.phoronix.com/scan.php?page=news_item&px=MTEyNDc DNF: The New Package Manager Of Fedora] 18 2012-06-22
  • June 18, 2014 [http://www.unixmen.com/yum-will-replaced-dnf-fedora-22-later-versions/ YUM Will Be Replaced With DNF On Fedora 22 And Later Versions]

References

{{reflist}}

{{Linux package management systems}}

{{Red Hat}}