
新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) |
| 対応OS | AlmaLinux 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の違いまとめ
| 比較項目 | Yum | DNF |
|---|---|---|
| 速度 | やや遅い | より高速 |
| 依存関係解決 | 限定的 | 高度で正確 |
| Pythonバージョン | 2系 | 3系 |
| トランザクション履歴 | なし | あり(ロールバック可能) |
| 拡張性 | 限定的 | プラグインで拡張可能 |
| リポジトリ管理 | 手動更新が多い | 自動更新に対応 |
つまり、DNFはYumの進化版 ✨
Yumの便利さを保ちながら、速度・信頼性・保守性の面で大きく改善されています。
🎯 まとめ
DNFは、Yumの使いやすさをそのままに、より賢く・速く・安全に進化したツール です🌈
💡ポイントをおさらいすると
- 依存関係を自動で解決してくれる。
- 高速で安定したアップデート処理が可能
- トランザクション履歴で安全なロールバックもできる。
これからのRed Hat系Linux(AlmaLinux・Rocky・RHEL)では、
DNFを自在に使いこなすことが、システム管理の第一歩です🐧✨
