DNF (ソフトウェア)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
Dandified Yum
DNF logo.png
作者 Jan Šilhan
最新版 2.7.5 / 2017年10月18日(6か月前) (2017-10-18
リポジトリ github.com/rpm-software-management/dnf
プログラミング言語 Python
対応OS Linux
種別 パッケージ管理システム
ライセンス GPL v2
公式サイト dnf.baseurl.org
テンプレートを表示
DNFは、Fedora 22からデフォルトのパッケージ管理システムとして採用された。

DNFまたはDandified Yum (ダンディファイド ヤム)は、RPMベースのパッケージ管理システムを採用しているLinuxディストリビューション用のパッケージマネージャであるYum 3.4のフォークであり、Yumの事実上の後継バージョン[1][2][3]

DNFは、Fedora 18より試験的に導入が開始され[4][5]、Fedora 22のバージョンからデフォルトのパッケージ管理システムとして採用されている[6]。dnfパッケージは、Fedoraの(試験的に採用されていた)18以降21以前のバージョンやEPEL 7にも存在する為、Fedora 19の成果を活用しているRHEL 7やCentOS 7などでも使用することができる[2]

Yumの抱える問題点[編集]

Yumは下記に挙げる欠点を抱えていた[1]

  • ドキュメント化されていない
  • 依存関係解決アルゴリズムが壊れている
  • 内部関数をリファクタリングすることが不可能

また、YumはPython 2で書かれており[2]、パフォーマンス面で遅くメモリを大量に消費してメモリーリークを惹き起こしがちになるなどの問題もあった[7][8]

Yumの後継パッケージ管理システム「DNF」[編集]

DNFは、Yumに替わる後継パッケージ管理システムを期待され、最先端のSATベースの依存関係リゾルバを搭載して、2015年5月26日にリリースされたFedora 22の標準パッケージマネージャとして採用された[9]。Python 3にも対応した[2]

Yumの問題点は下記のように対処された[9][10]

  • API ドキュメントの整備。テスト環境の改善。
  • より堅固なアルゴリズムと効率的なメモリ消費を兼ね備えた(openSUSECUIベースのパッケージマネージャであるzypperを基にした) libsolv によって、依存性を解決する。
  • Pythonに大きく依存していた点を、 (C言語およびPythonのラッパーである) hawkey ライブラリによるPythonとC言語との包括的なAPIに改めて、他言語からも扱いやすくした。
  • メモリ消費量低減やメタデータ同期の効率化。

DNFは、RPMに加えlibsolvとhawkeyのライブラリを用いるパッケージ管理システムとなった。 librepo を利用して、メタデータやパッケージダウンロードの操作をする。 libcomps によって、comps dataの処理や効果的な操作を行う。

パフォーマンス面でも、Yumと比較して速度が改善したとの報告がある[11]

2016年12月20日、Yumとの互換性の改善を重視した「 DNF-2.0 」がリリースされた[12]

ドキュメント[編集]

依存関係[編集]

libsolv[編集]

hawkey[編集]

librepo[編集]

  • https://github.com/tojaj/librepo
  • Linuxのリポジトリのメタデータとパッケージをダウンロードする為の(libcURLライクな) APIのライブラリはC言語とPythonから成っている。
  • C言語、LGPLv2+

libcomps[編集]

  • https://github.com/midnightercz/libcomps
  • Libcompsは、Yumの 「yum.comps library」 に替わるものである。そのライブラリは、C言語にPython 2とPython 3を組み合わせて書かれている。
  • C言語、LGPLv2+

採用例[編集]

DNFは、2015年5月にリリースされたFedoraのバージョン22より標準のパッケージ管理システムとして採用されている[6]

出典[編集]

脚注[編集]

  1. ^ a b Fedora 22で「Yum」は公式に死亡し、これからは「DNF」で!”. ソフトアンテナブログ (2015年5月18日). 2015年10月7日閲覧。
  2. ^ a b c d yumからDNFへの移行”. Increments Inc. (2015年5月28日). 2015年10月6日閲覧。
  3. ^ すぐりふひと (2015年2月15日). “DNF パッケージマネージャ”. bitWalk's. 2015年10月7日閲覧。
  4. ^ Will DNF Replace Yum?”. 2015年5月28日閲覧。
  5. ^ 2. Fedora の変更点 - システム管理者向け”. Fedora Project. 2015年10月6日閲覧。
  6. ^ a b Fedora 22 Released, See What`s New Workstation”. 2015年5月28日閲覧。
  7. ^ DNF and Yum in Fedora”. LWN.net (2014年1月15日). 2015年3月29日閲覧。
  8. ^ WING☆ (2009年2月11日). “CentOS 5.2 x64でyum-cronとyum-updatesdの設定”. FC2ブログ. 2015年10月7日閲覧。
  9. ^ a b Jan Šilhan (2015年5月11日). “Yum is dead, long live DNF”. WordPress. 2015年10月7日閲覧。
  10. ^ yum->dnfのメリット”. Increments Inc. (2015年5月18日). 2015年10月7日閲覧。
  11. ^ Sayontan Sinha (2015年6月20日). “Yum と DNF 違いなど”. 愛しく切ない1bed. 2015年10月7日閲覧。
  12. ^ 末岡洋子 (2016年12月22日). “yumの後継を目指すパッケージマネージャ「DNF-2.0」リリース”. OSDN Magazine. OSDN. 2017年7月12日閲覧。

関連項目[編集]

外部リンク[編集]