新Linux入門|dnfコマンド:次世代のパッケージ管理ツールを使いこなそう

こんにちは!今回は、AlmaLinux 9.6で標準となったパッケージ管理ツール
「dnfコマンド」 の使い方を、やさしく丁寧に解説していきます✨

以前のCentOS 7では「yumコマンド」が主流でしたが、2024年7月のCentOS 7 EOL(End of Life)に伴い、
リポジトリが閉鎖され、yum update や yum install が動かなくなってしまいました。

その後継として登場したのが、DNF(Dandified YUM) です!
 DNFはYumの使いやすさを保ちつつ、速度・安定性・依存関係の解決力 が大幅にパワーアップしています💪

🌟 dnfコマンドとは?

DNFは、RPMパッケージ管理システムをベースにした次世代のパッケージ管理ツールです。
Yumの後継として、RHEL 8以降・AlmaLinux 8以降で標準採用されています。

項目内容
名称DNF(Dandified YUM)
目的パッケージのインストール・更新・削除・検索
主な特徴依存関係を自動解決、トランザクション履歴管理、Yum互換コマンド
開発言語Python 3(YumはPython 2)
対応OSAlmaLinux 8/9, Rocky Linux 8/9, RHEL 8/9 など

DNFはYumと同じ感覚で使えるので、以前の環境から移行した人でも安心です😊

⚙️ dnfコマンドの書式

dnf [オプション] [パッケージ名]

[root@AlmaLinux ~]# dnf install httpd

このコマンドは、Webサーバー「Apache HTTP Server(httpd)」をインストールします。
依存関係も自動で解決してくれるので、とても便利です✨

🧾 主なサブコマンド

サブコマンド説明
install パッケージ名指定したパッケージをインストール
remove パッケージ名指定したパッケージを削除
updateすべてのパッケージを最新に更新
search キーワード指定したキーワードを含むパッケージを検索
listインストール済みや利用可能なパッケージを一覧表示
info パッケージ名パッケージの詳細情報を表示
clean allキャッシュを削除し、ストレージを整理
repolist登録されているリポジトリの一覧を表示
check-update更新可能なパッケージを確認
historyインストール・削除などの操作履歴を表示

DNFでは、これらの操作が高速かつ効率的に実行されます🚀

💻 使用例と出力例

🟢 パッケージのインストール

[root@AlmaLinux ~]# dnf install httpd
メタデータの期限切れの最終確認: 1:40:21 前の 2025年11月24日 00時17分30秒 に実施しました。
依存関係が解決しました。
=========================================================================
 パッケージ               Arch      バージョン        リポジトリー サイズ
=========================================================================
インストール:
 httpd                    x86_64    2.4.62-7.el9      appstream     44 k
依存関係のインストール:
 almalinux-logos-httpd    noarch    90.6-2.el9        appstream     18 k
 apr                      x86_64    1.7.0-12.el9_3    appstream    122 k
 apr-util                 x86_64    1.6.1-23.el9      appstream     94 k
 apr-util-bdb             x86_64    1.6.1-23.el9      appstream     12 k
 httpd-core               x86_64    2.4.62-7.el9      appstream    1.4 M
 httpd-filesystem         noarch    2.4.62-7.el9      appstream     11 k
 httpd-tools              x86_64    2.4.62-7.el9      appstream     78 k
弱い依存関係のインストール:
 apr-util-openssl         x86_64    1.6.1-23.el9      appstream     14 k
 mod_http2                x86_64    2.0.26-5.el9      appstream    163 k
 mod_lua                  x86_64    2.4.62-7.el9      appstream     58 k

トランザクションの概要
=========================================================================
インストール  11 パッケージ

ダウンロードサイズの合計: 2.0 M
インストール後のサイズ: 6.1 M
これでよろしいですか? [y/N]: y

依存パッケージも自動で解決されるため、手動設定の手間がありません✨

🔵 パッケージの削除

[root@AlmaLinux ~]# dnf remove httpd
引数に一致する結果がありません: httpd
削除対象のパッケージはありません。
依存関係が解決しました。
行うべきことはありません。
完了しました!

🟠 システム全体を最新に更新

[root@AlmaLinux ~]# dnf update
メタデータの期限切れの最終確認: 2:26:45 前の 2025年11月24日 00時17分30秒 に実施しました。
依存関係が解決しました。
=========================================================================
 パッケージ               Arch   バージョン              Repo      サイズ
=========================================================================
インストール:
 kernel                   x86_64 5.14.0-611.5.1.el9_7    baseos    1.1 M
 kernel-devel             x86_64 5.14.0-611.5.1.el9_7    appstream  17 M
アップグレード:
 NetworkManager           x86_64 1:1.54.0-3.el9_7        baseos    2.3 M
 NetworkManager-adsl      x86_64 1:1.54.0-3.el9_7        baseos     32 k
 NetworkManager-bluetooth x86_64 1:1.54.0-3.el9_7        baseos     58 k
 NetworkManager-config-server
(省略)

🟣 パッケージの検索

[root@AlmaLinux ~]# dnf search python
メタデータの期限切れの最終確認: 2:28:17 前の 2025年11月24日 00時17分30秒 に実施しました。
======================= 名前 & 概要 一致: python ========================
boost-python3.i686 : Run-time component of boost python library for
                   : Python 3
boost-python3.x86_64 : Run-time component of boost python library for
                     : Python 3
(省略)

🧩 DNFとYumの違いまとめ

比較項目YumDNF
速度やや遅いより高速
依存関係解決限定的高度で正確
Pythonバージョン2系3系
トランザクション履歴なしあり(ロールバック可能)
拡張性限定的プラグインで拡張可能
リポジトリ管理手動更新が多い自動更新に対応

つまり、DNFはYumの進化版
Yumの便利さを保ちながら、速度・信頼性・保守性の面で大きく改善されています。

🎯 まとめ

DNFは、Yumの使いやすさをそのままに、より賢く・速く・安全に進化したツール です🌈

💡ポイントをおさらいすると

  • 依存関係を自動で解決してくれる。
  • 高速で安定したアップデート処理が可能
  • トランザクション履歴で安全なロールバックもできる。

これからのRed Hat系Linux(AlmaLinux・Rocky・RHEL)では、
DNFを自在に使いこなすことが、システム管理の第一歩です🐧✨