RHEL、Fedora、CentOSなどでお馴染みのパッケージマネージャYumが、 Fedora 22ではデフォルトではインストールされず、公式に「デッドプロジェクト」とみなされるようになったことが、DNFプロジェクトのブログ「Yum is dead, long live DNF」により明らかになりました。
DNFは、SATベースの依存関係リゾルバを搭載したYumのフォークで、Fedora 22以降、Yumを置き換えることになります。DNFは、Python 3 / Python 2どちらにも対応しており、Yumとは異なるDNF Python APIを提供します。
Fedora 22でも、Yumをインストールすることは可能で、YumのPython APIも当分残りますが、yumのコマンドは「yum-deprecated」と名前を変え、「yum」の呼び出しは「dnf」にリダイレクトされます。
コマンドラインインターフェイスの違いはここで確認することができます。
Yumはメンテナンス不可能だった
わざわざDNFプロジェクトが立ち上げられた理由として、Yumの欠点が3点が挙げられています。
- ドキュメント化されていない
- 依存関係解決アルゴリズムが壊れている
- 内部関数をリファクタリングすることが不可能
DNFプロジェクトはこの失敗を踏まえ、外部に提供されるAPIは全てドキュメント化されると共に、テストを重視し、クイック/ダーティハックを許さない方針を取るようです。
今回の決定はとりあえず、Fedora 22に関するものですが、Yumを採用している他のLinuxディストリビューションにも今後影響がありそうです。いきなりYumが使えなくなっても焦らない心構えが必要かもしれません。