yum と dnf 使う上では全く違いがない話

Linux
Linux
スポンサーリンク

CentOS など、RHEL系のOSのパッケージ管理システムは、長い間 yum(ヤム)が使われてきましたが、2019年にリリースされた CentOS8 から yum の後継バージョンとなる dnf(Dandified YUM ディーエヌエフ)に変わりました。しかし、CentOS Stream 9 がリリースされた現在(2022年)でも、yum は廃止されることはなく dnf と全く同じように使えます。そこで今回は、yum と dnf を使う上では、なぜ全く違いがないのか? その理由をまとめてみました。

yum と dnf が同じように使える理由

dnf が導入された以降のRHEL系のOS(RHEL 8、CentOS 8、AlmaLinux 8、Rocky Linux 8、RHEL 9、CentOS Stream 9 など)では、yum と dnf は /usr/bin/dnf-3 へのシンボリックリンクになっています。

$ ls -l /usr/bin/yum /usr/bin/dnf

lrwxrwxrwx. 1 root root 5  2月  7 18:26 /usr/bin/dnf -> dnf-3
lrwxrwxrwx. 1 root root 5  2月  7 18:26 /usr/bin/yum -> dnf-3

そのため、例えば「yum upgrade」と実行しても「dnf upgrade」と実行しても、実際にはどちらもシンボリックリンクをたどって「dnf-3 upgrade」が実行されるため、結果は全く同じになります。

近くリリースを予定している RHEL 9 の公式ドキュメントにも次のように記載されていますので、RHEL 9 のサポートが終了するまでは(おそらく2030年以降)コマンドラインインターフェースとしての yum は廃止されることはないでしょう。

3.4. YUM/DNFによるパッケージ管理

このドキュメント全体を通して、YUMとDNFは同じ意味で使用できます。

Red Hat Enterprise Linux 9では、ソフトウェアのインストールはDNFによって保証されます。 Red Hatは、以前のメジャーバージョンのRHELとの一貫性を保つために、yum用語の使用を引き続きサポートします。 yumの代わりにdnfと入力すると、どちらも互換性のためのエイリアスであるため、コマンドは期待どおりに機能します。

RHEL8およびRHEL9はDNFに基づいていますが、RHEL7で使用されているYUMと互換性があります。

引用元:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9-beta/html/9.0_release_notes/distribution#package_management_with_yum_dnf より機械翻訳

おわりに

ここ最近、yum を使うと古いパッケージがインストールされる(←間違いです)、yum と dnf を混在して使うと依存関係がおかしくなる(←これも間違いです)、といったすごい誤解を耳にすることがあったので記事にしてみました。yum と dnf の正しい理解が広まることを心から祈ります。

コメント

タイトルとURLをコピーしました