CentOSやRHEL、Rocky Linux、AlmaLinuxなどRed Hat系のLinuxディストリビューションでは、パッケージ管理にyumまたはdnfコマンドを使います。この記事ではyum/dnfの基本から応用テクニックまで、aptとの違いも交えながら徹底解説します。
yumとdnfの違い
yumはCentOS 7・RHEL 7以前で使われてきた従来のパッケージマネージャーです。dnfはyumの後継で、CentOS 8・RHEL 8以降では標準になっています。CentOS 8以降ではyumコマンドを打ってもdnfが呼ばれます(エイリアス設定)。
| 項目 | yum | dnf |
|---|---|---|
| 対象バージョン | CentOS 7・RHEL 7以前 | CentOS 8・RHEL 8以降 |
| パフォーマンス | 普通 | 高速 |
| Python依存 | Python 2 | Python 3 |
| 互換性 | — | yumと互換あり |
基本コマンド一覧
インストール・更新・削除
# インストール
dnf install -y nginx
# 複数インストール
dnf install -y nginx mysql-server php
# 全パッケージ更新
dnf update -y
# セキュリティ更新のみ
dnf update --security
# 削除
dnf remove nginx
# 不要依存パッケージ削除
dnf autoremove
検索・情報確認
# 検索
dnf search nginx
# 詳細情報
dnf info nginx
# インストール済み一覧
dnf list installed
# コマンドのパッケージを調べる
dnf provides /usr/bin/git
リポジトリの管理
# リポジトリ一覧
dnf repolist
# EPELリポジトリを追加(標準外パッケージが使えるようになる)
dnf install -y epel-release
# EPELからパッケージをインストール
dnf install -y htop jq
# リポジトリを有効化
dnf config-manager --enable リポジトリID
# キャッシュ削除
dnf clean all
グループパッケージの管理
# グループ一覧
dnf group list
# 開発ツール一式をインストール
dnf group install "Development Tools"
# グループ削除
dnf group remove "Development Tools"
履歴と操作の取り消し
# 操作履歴を表示
dnf history
# 特定操作の詳細
dnf history info 5
# 操作を取り消す
dnf history undo 5
aptとdnfのコマンド対応表
| 操作 | apt(Ubuntu) | dnf(RHEL系) |
|---|---|---|
| 情報更新 | apt update | dnf check-update |
| 更新 | apt upgrade | dnf update |
| インストール | apt install pkg | dnf install pkg |
| 削除 | apt remove pkg | dnf remove pkg |
| 検索 | apt search kw | dnf search kw |
| 詳細 | apt show pkg | dnf info pkg |
| 不要削除 | apt autoremove | dnf autoremove |
| キャッシュ削除 | apt clean | dnf clean all |
まとめ
- Red Hat系LinuxではパッケージManager管理にdnf(旧yum)を使う
- CentOS 8以降はdnfが標準でyumコマンドもdnfにエイリアスされている
- EPELリポジトリを追加すると使えるパッケージが大幅に増える
dnf history undoでインストール操作を取り消せる- aptとコマンド体系が似ているためUbuntuユーザーも比較的とっつきやすい



コメント