Dandified Yum
![]() | |
作者 | Jan Šilhan |
---|---|
最新版 | 5.0.14 / 2023年6月14日 (13か月前) (2023-06-14) |
リポジトリ |
![]() |
プログラミング 言語 | Python |
対応OS | Linux |
種別 | パッケージ管理システム |
ライセンス | GPL v2 |
公式サイト | rpm-software-management |
テンプレートを表示 |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Dnf_updates_fedora22.png/220px-Dnf_updates_fedora22.png)
Dandified Yum(ダンディファイド ヤム、略してDNF)は、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の後継パッケージ管理システム「Dandified Yum」
DNFは、Yumに替わる後継パッケージ管理システムを期待され、最先端のSATベースの依存関係リゾルバを搭載して、2015年5月26日にリリースされたFedora 22の標準パッケージマネージャとして採用された[9]。Python 3にも対応した[2]。
- API ドキュメントの整備。テスト環境の改善。
- より堅固なアルゴリズムと効率的なメモリ消費を兼ね備えた(openSUSEのZYppのために開発された) 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]。
2018年6月27日、バージョン3の安定版である「DNF-3.0.1」がリリースされた[13]。
2018年12月17日、バージョン4の安定版である「DNF-4.0.9.1」がリリースされた[13]。
ドキュメント
- http://dnf.readthedocs.org/en/latest/
- https://github.com/rpm-software-management/dnf/wiki/
dnf (8)
dnf.conf (8)
依存関係
libsolv
- https://github.com/openSUSE/libsolv
- SAT的なアルゴリズムの利用を通してパッケージの依存関係の解決
- パッケージ管理とリポジトリの購読
- C言語、修正BSDライセンス
hawkey
- https://github.com/rpm-software-management/hawkey
- libsolvライブラリ用の高レベルなAPI
- libsolvに最適のシンプルなC言語とPythonによって書かれたAPI
- C言語、LGPLv2+
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 install パッケージ名
: 指定されたパッケージ(および必要に応じてその依存関係)をインストールするdnf remove パッケージ名
: 指定されたパッケージ(および関連する依存関係)を削除するdnf check-update
: 更新可能なパッケージを表示する(実際のアップデートはしない)dnf update
: インストールされている全てのプログラムを更新するdnf upgrade パッケージ名
: パッケージを更新する(パッケージ名を指定していない場合、インストール済パッケージで更新可能な全パッケージを更新する)dnf search キーワード
: キーワードでパッケージを検索するdnf provides パッケージ名
: 指定されたパッケージの依存関係を表示するdnf provides ファイル名
: 指定されたファイルを提供するパッケージを検索する
採用例
DNFは、2015年5月にリリースされたFedoraのバージョン22より標準のパッケージ管理システムとして採用されている[6]。
出典
- DNF, which may or may not replace Yum 2012-06-27
- DNF and Yum in Fedora 2014-01-15
- Why write a new package manager anyway? 2014-01-16
- https://github.com/rpm-software-management/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
- DNF: The New Package Manager Of Fedora 18 2012-06-22
- YUM Will Be Replaced With DNF On Fedora 22 And Later Versions 2014-06-18
脚注
- ^ a b “Fedora 22で「Yum」は公式に死亡し、これからは「DNF」で!”. ソフトアンテナブログ (2015年5月18日). 2015年10月7日閲覧。
- ^ a b c d “yumからDNFへの移行”. Increments Inc. (2015年5月28日). 2015年10月6日閲覧。
- ^ すぐりふひと (2015年2月15日). “DNF パッケージマネージャ”. bitWalk's. 2015年10月7日閲覧。
- ^ “Will DNF Replace Yum?”. 2015年5月28日閲覧。
- ^ “2. Fedora の変更点 - システム管理者向け”. Fedora Project. 2015年10月6日閲覧。
- ^ a b “Fedora 22 Released, See What`s New Workstation”. 2015年5月28日閲覧。
- ^ “DNF and Yum in Fedora”. LWN.net (2014年1月15日). 2015年3月29日閲覧。
- ^ WING☆ (2009年2月11日). “CentOS 5.2 x64でyum-cronとyum-updatesdの設定”. FC2ブログ. 2015年10月7日閲覧。
- ^ a b Jan Šilhan (2015年5月11日). “Yum is dead, long live DNF”. WordPress. 2015年10月7日閲覧。
- ^ “yum->dnfのメリット”. Increments Inc. (2015年5月18日). 2015年10月7日閲覧。
- ^ Sayontan Sinha (2015年6月20日). “Yum と DNF 違いなど”. 愛しく切ない1bed. 2015年10月7日閲覧。
- ^ 末岡洋子 (2016年12月22日). “yumの後継を目指すパッケージマネージャ「DNF-2.0」リリース”. OSDN Magazine. OSDN. 2017年7月12日閲覧。
- ^ a b “rpm-software-management”. GitHub (2018年12月17日). 2019年1月19日閲覧。
関連項目
外部リンク
- 公式ウェブサイト
- dnf - GitHub
- 表示
- 編集
レッドハット | ||
---|---|---|
主要製品 |
| ![]() |
サービス |
| |
プロジェクト |
| |
過去製品 | ||
主な人物 |
| |
合併・吸収企業 |
| |
関連項目 | ||
|
| ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パッケージ形式(英語版) | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
|
Linuxパッケージ管理システム | |
---|---|
dpkg |
|
RPM | |
組み込みシステム | |
ディストリビューション非依存 | |
その他(バイナリ) | |
その他(ソース) |
|
フロントエンド |
|
関連項目 |
|
|