
新Linux入門|YumからDNFへ:Linuxパッケージ管理の進化と違いを理解しよう
今回は、Linuxの世界で長年使われてきたパッケージ管理ツール「Yum(ヤム)」が、
その後継である「DNF(ディーエヌエフ)」へと進化した経緯と違いについてわかりやすく解説します😊
AlmaLinux 9.6などの最新のRed Hat系ディストリビューションでは、すでにYumからDNFへ完全に移行しており、
パッケージ管理の仕組み自体がより効率的でモダンになっています。

🚀 Yumとは?
Yum (Yellowdog Updater, Modified) は、Red Hat Enterprise Linux(RHEL)やCentOS 7などで使われてきた定番のパッケージ管理ツールです。
RPMパッケージを自動で扱えるようにし、依存関係を解決してくれる頼もしい存在でした。
| 項目 | 内容 |
|---|---|
| 主な機能 | パッケージの検索・インストール・更新・削除 |
| 特徴 | 依存関係を自動で解決、リポジトリ管理が容易 |
| 欠点 | 動作速度が遅く、複雑な依存関係でエラーが起きやすい |
| 主な対応環境 | RHEL 7系 / CentOS 7など |
💻 コマンド例
[root@AlmaLinux ~]# yum install httpdこのように簡単なコマンドでApache HTTP Serverをインストールできますが、
処理速度が遅い・キャッシュ管理が複雑といった課題がありました。
⚙️ DNFとは?
DNF (Dandified YUM) は、Yumの後継として開発された新しいパッケージ管理ツールです✨
RHEL 8・AlmaLinux 8以降では標準ツールとして採用されています。
| 特徴 | 説明 |
|---|---|
| 🏃 高速化 | 依存関係の処理速度がYumよりも向上 |
| 💾 メモリ効率 | Python 3対応により動作が軽量化 |
| 🔄 ロールバック機能 | 失敗したトランザクションを安全に戻せる |
| 🔍 互換性 | Yum互換のコマンド体系を維持(置き換えが容易) |
| 🧩 拡張性 | プラグイン構造が改善され、新機能の追加が簡単に |
💻 コマンド例
[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まるでYumと同じように使えますが、内部処理はまったく新しく設計されているんです。
🔍 YumとDNFの違い
| 比較項目 | Yum | DNF |
|---|---|---|
| デフォルト環境 | RHEL/CentOS 7 | RHEL/AlmaLinux/Rocky 8以降 |
| 実行速度 | やや遅い | より高速・効率的 |
| 依存関係の処理 | 単純な自動解決 | より正確で高速な解決 |
| Pythonバージョン | Python 2系 | Python 3系 |
| ロールバック機能 | なし | あり(トランザクション履歴対応) |
| コマンド互換性 | 旧式 | Yumコマンドもそのまま利用可能 |
| 拡張性 | 限定的 | プラグインで容易に機能追加 |
DNFはYumの後継ですが、「Yumの改良版」ではなく「再設計された新世代ツール」 です。
これにより、パッケージ管理の速度・安定性・信頼性が大きく向上しています。
🧠 AlmaLinux・Rocky Linuxでの位置づけ
AlmaLinux 9.6やRocky Linux 9では、DNFが完全に標準ツールとして搭載されています。
内部的には「yum」コマンドを入力しても、実際にはDNFが呼び出されています。
[suzuki@AlmaLinux ~]$ yum --version
4.14.0
インストール済み: dnf-0:4.14.0-25.el9.alma.1.noarch (日時: 2025年10月27日 07時19分01秒)
ビルド : AlmaLinux Packaging Team <packager@almalinux.org> (日時: 2025年03月12日 10時54分24秒)
インストール済み: rpm-0:4.16.1.3-37.el9.x86_64 (日時: 2025年10月27日 07時17分42秒)
ビルド : AlmaLinux Packaging Team <packager@almalinux.org> (日時: 2025年03月13日 03時17分20秒)つまり、yumコマンド=dnfコマンド なんです😊
古いスクリプトの互換性を保ちつつ、新しい仕組みへ移行できるように設計されています。
📊 CentOS 7とCentOS 8(およびAlmaLinux 9.6)での比較
| 項目 | CentOS 7 | CentOS 8 / AlmaLinux 9.6 |
|---|---|---|
| デフォルトツール | Yum | DNF |
| DNFの有無 | オプションで利用可 | デフォルトで導入済み |
| Yumの利用可否 | 利用可能 | コマンドはDNFにマッピング |
| 推奨ツール | Yum | DNF |
| 主な特徴 | 古い構造、Python 2 | 新構造、Python 3、高速依存解決 |
この比較からも分かる通り、最新のディストリビューションではDNFが主役になっています🌟
🌟 まとめ
YumとDNFはどちらもLinuxのパッケージ管理を支える重要なツールですが、
DNFはYumの弱点を克服し、速度・安定性・柔軟性 の面で大きく進化しています。
- 💨 DNFはYumより高速!
- 🧩 依存関係処理がより正確!
- 🔁 トランザクション履歴で安全なロールバック!
AlmaLinux 9.6では、DNFを使いこなすことがシステム管理の基本です。
これからLinuxを学ぶ方も、Yumの仕組みを理解しながらDNFへステップアップしていきましょう🐧
