Fedora 22で「Yum」は公式に死亡し、これからは「DNF」で!

S 2015 05 18 10 46 14

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が使えなくなっても焦らない心構えが必要かもしれません。