【Linux】yum/dnfコマンドの概要と使い方、yumとdnfコマンドの違いなどまとめ

Linux

yum/dnfコマンドの概要をまとめました。本記事では、Red Hat Enterprise Linux 9.6でのコマンドの実行結果を紹介します。

yumコマンドとは

yumコマンドはRed Hat系のLinuxのディストリビューションでソフトウェアをインストールするのに使用するコマンドです。

yumはYellowdog Updater Modifiedの頭文字です。

yum (YellowDog Update)は、 RPM のインストールを改善するために Dukevideo によって開発されたパッケージマネージャーです。yum は、多くのリポジトリーでパッケージとその依存関係を検索するため、依存関係の問題を軽減するために一緒にインストールできます。

第14章 YUM (Yellowdog Updater Modified) | デプロイメントガイド | Red Hat Enterprise Linux | 5 | Red Hat Documentation
第14章 YUM (Yellowdog Updater Modified) | デプロイメントガイド | Red Hat Enterprise Linux | 5 | Red Hat Documentation

dnfコマンドとは

dnfコマンドは、Python(パイソン)2系から3系にアップグレードされることに伴ってyumから独立して新しく作られたコマンドです。

YUMはPythonで書かれていますが、Python 2系となっています。そのため、今後Python 3系に対応するために作られたのがDNFということになります。

DNFについて - Linux技術者認定 LinuC | LPI-Japan
Linuxのコラムを掲載しています。LinuCは、クラウド・DX時代に活躍するエンジニアに求められるLinuxを中心とした技術や知識を身につけることができるLinux技術者認定試験。出題範囲に含まれる技術解説動画やサンプル問題、教科書ダウン...

dnfはyumとの互換性があり、現在ではyumコマンドはdnfの設定ファイルへのシンボリックリンクを使用する形でdnfコマンドと変わりなくyumコマンドを使用することができます。

dnfはDandified Yumを意味します。

Changes/ReplaceYumWithDNF - Fedora Project Wiki

上記はfedoraの公式サイトです。fedoraはRed Hat系のディストリビューションで、Red Hat Enterprise Linuxの開発段階のディストリビューションになります。

余談ですがfedoraという英単語はRed Hatが赤帽であるのに対してただの色のついていない中折れ帽子ということを意味します。

yumとdnfには互換性があり、RHEL9.6の時点ではどちらも同じように使える

前述の通り、yumとdnfには互換性があるため、RHEL9.6の時点では、yumコマンドもdnfコマンドもどちらも同じ様に使うことができます。

yum/dnfの設定ファイル

yum・dnfの設定ファイルについて説明します。

/etc/yum.confと/etc/dnf/dnf.conf

/etc/yum.confは/etc/dnf/dnf.confへのシンボリックリンクです。

/etc/dnf/dnf.confはyum/dnfコマンドの設定を記載しておくファイルです。

RHEL9.6ではデフォルトで以下の内容が記載されていました。

[user@RHEL96 ~]$ cat /etc/dnf/dnf.conf
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False

レポジトリへのアクセス

レポジトリは、RPMパッケージが格納されているサーバーです。yumコマンドやdnfコマンドでインストールするRPMパッケージはこのレポジトリに保存されているRPMパッケージを使用しています。

レポジトリの詳細は以下の記事で解説しています。

yum/dnfコマンドの使い方

yum/dnfコマンドの使い方を紹介します。

RPMパッケージをインストールする

以下のいずれかのコマンドでRPMパッケージをインストールできます。

# yum install <サービス名>
# dnf install <サービス名>

オプションで-yをつけて実行すると、インストール確認メッセージが表示されずに対象のRPMパッケージとその依存関係にあるRPMパッケージがインストールされます。

# yum install -y <サービス名>
# dnf install -y <サービス名>

RPMパッケージの最新化

インストールされているすべてのPRMパッケージを最新の状態にアップデートします。

# yum update
# dnf update

インストール済みのRPMパッケージの一覧

以下のコマンドでインストール済みのRPMパッケージの一覧を表示します。

# yum list installed

| grepをつけることでインストール済みのパッケージを検索することができます。例えば、pythonとその関係するRPMパッケージを確認したい場合は以下です。

# yum list installed | grep python

実行結果の例は以下です。以下はRHEL9.6での実行結果です。

[root@RHEL96 ~]# yum list installed | grep python
ibus-anthy-python.noarch                         1.5.13-4.el9_4                   @rhel-9-for-x86_64-appstream-rpms
libcap-ng-python3.x86_64                         0.8.2-7.el9                      @rhel-9-for-x86_64-appstream-rpms
libpeas-loader-python3.x86_64                    1.30.0-4.el9                     @rhel-9-for-x86_64-appstream-rpms
policycoreutils-python-utils.noarch              3.6-2.1.el9                      @rhel-9-for-x86_64-appstream-rpms
python-unversioned-command.noarch                3.9.21-2.el9                     @rhel-9-for-x86_64-appstream-rpms
python3.x86_64                                   3.9.21-2.el9                     @rhel-9-for-x86_64-baseos-rpms
python3-argcomplete.noarch                       1.12.0-5.el9                     @rhel-9-for-x86_64-appstream-rpms
python3-audit.x86_64                             3.1.5-4.el9                      @rhel-9-for-x86_64-appstream-rpms
python3-brlapi.x86_64                            0.8.2-4.el9                      @rhel-9-for-x86_64-appstream-rpms
python3-cairo.x86_64                             1.20.1-1.el9                     @rhel-9-for-x86_64-appstream-rpms
python3-cffi.x86_64                              1.14.5-5.el9                     @rhel-9-for-x86_64-appstream-rpms
python3-chardet.noarch                           4.0.0-5.el9                      @rhel-9-for-x86_64-baseos-rpms
(以下略)

RPMパッケージの詳細情報を確認する

以下のサブコマンドinfoを使用することで、RPMパッケージの詳細情報を確認できます。

# yum info 
# dnf info 

RHEL9.6でApache HTTP Serverの詳細情報を表示した例は以下です。

[root@RHEL96 ~]# dnf info httpd
サブスクリプション管理リポジトリーを更新しています。
メタデータの期限切れの最終確認: 3:36:36 前の 2025年10月30日 10時30分51秒 に実施しました。
インストール済みパッケージ
名前         : httpd
バージョン   : 2.4.62
リリース     : 4.el9_6.4
Arch         : x86_64
サイズ       : 59 k
ソース       : httpd-2.4.62-4.el9_6.4.src.rpm
リポジトリー : @System
repo から    : rhel-9-for-x86_64-appstream-rpms
概要         : Apache HTTP Server
URL          : https://httpd.apache.org/
ライセンス   : ASL 2.0
説明         : The Apache HTTP Server is a powerful, efficient, and extensible
             : web server.

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