言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

Linux & Mac & Bashコマンド辞典

  1. トップページ
  2. Linux & Mac & Bashコマンド辞典
  3. dnf / yum

dnf / yum

『dnf』は RHEL・AlmaLinux・CentOS Stream などの RPM 系 Linux ディストリビューションの標準パッケージ管理ツールです。dnf install でパッケージをインストールし、dnf update でシステム全体を更新します。dnf remove でアンインストールでき、dnf autoremove で不要な依存パッケージも一括削除できます。EPEL(Extra Packages for Enterprise Linux)リポジトリを有効化すると、公式リポジトリにない多くのパッケージも利用できるようになります。なお、『yum』は RHEL 7 以前の旧コマンドで、RHEL 8 以降は『dnf』が標準となっています。

構文

# -----------------------------------------------
#  パッケージリストの更新
# -----------------------------------------------

# dnf check-update
#   → リポジトリのパッケージリストを確認し、更新可能なパッケージを表示します
#   → 実際の更新は行いません
#   例: sudo dnf check-update

# -----------------------------------------------
#  パッケージのインストール
# -----------------------------------------------

# dnf install {パッケージ名} [{パッケージ名} ...]
#   → 指定したパッケージをインストールします
#   → 依存パッケージも自動で解決されます
#   → 複数のパッケージを空白区切りで同時指定できます
#   例: sudo dnf install nginx
#   例: sudo dnf install nginx php-fpm

# dnf install {パッケージ名}-{バージョン}
#   → 特定バージョンを指定してインストールします
#   例: sudo dnf install nginx-1.24.0

# -----------------------------------------------
#  パッケージの更新
# -----------------------------------------------

# dnf update
#   → インストール済みパッケージをすべて最新版に更新します
#   → 依存関係の変化により古いパッケージが置き換えられることがあります

# dnf update {パッケージ名}
#   → 指定したパッケージのみを更新します
#   例: sudo dnf update nginx

# -----------------------------------------------
#  パッケージの削除
# -----------------------------------------------

# dnf remove {パッケージ名}
#   → パッケージを削除します

# dnf autoremove
#   → 他のパッケージが依存しなくなった孤立パッケージをまとめて削除します

# -----------------------------------------------
#  パッケージの検索・情報確認
# -----------------------------------------------

# dnf search {キーワード}
#   → キーワードでパッケージ名と説明文を検索します

# dnf info {パッケージ名}
#   → パッケージの詳細情報(バージョン・依存関係など)を表示します

# dnf list installed
#   → インストール済みパッケージの一覧を表示します

# dnf list available
#   → リポジトリから入手可能なパッケージの一覧を表示します

# -----------------------------------------------
#  リポジトリの管理(EPEL)
# -----------------------------------------------

# dnf install epel-release
#   → EPEL(Extra Packages for Enterprise Linux)リポジトリを有効化します
#   → 公式リポジトリにない多くのパッケージが利用可能になります
#   例: sudo dnf install epel-release

# dnf repolist
#   → 有効なリポジトリの一覧を表示します

# dnf config-manager --enable {リポジトリID}
#   → 指定したリポジトリを有効化します

# dnf config-manager --disable {リポジトリID}
#   → 指定したリポジトリを無効化します

構文一覧

操作コマンド説明
更新可能パッケージの確認dnf check-update更新可能なパッケージの一覧を表示します。実際のインストールは行わずに確認だけできます。
パッケージのインストールdnf install {パッケージ名}指定したパッケージをインストールします。依存パッケージも自動で解決されます。
全パッケージの更新dnf updateインストール済みのすべてのパッケージを最新版に更新します。
特定パッケージの更新dnf update {パッケージ名}指定したパッケージのみを最新版に更新します。
パッケージの削除dnf remove {パッケージ名}パッケージを削除します。依存関係も考慮して安全に削除されます。
孤立パッケージの削除dnf autoremove他のパッケージが依存しなくなった不要なパッケージを一括削除します。
パッケージの検索dnf search {キーワード}パッケージ名と説明文からキーワードで検索します。
パッケージ情報の表示dnf info {パッケージ名}バージョン・依存関係・説明など詳細情報を表示します。
インストール済み一覧dnf list installed現在インストールされているすべてのパッケージを一覧表示します。
利用可能パッケージの一覧dnf list availableリポジトリから入手可能なパッケージを一覧表示します。
特定バージョンの指定dnf install {パッケージ}-{バージョン}バージョンを固定してインストールします。動作確認済みのバージョンを維持したい場合に使用します。
EPELの有効化dnf install epel-releaseEPEL リポジトリを有効化します。公式リポジトリにない多くのパッケージが利用可能になります。
リポジトリ一覧の表示dnf repolist有効化されているリポジトリの一覧を表示します。dnf repolist all で無効なリポジトリも確認できます。
リポジトリの有効化dnf config-manager --enable {リポジトリID}指定したリポジトリを有効化します。dnf-plugins-core パッケージが必要です。
リポジトリの無効化dnf config-manager --disable {リポジトリID}指定したリポジトリを無効化します。削除せずに一時的に使用を停止できます。
キャッシュの削除dnf clean allダウンロードしたパッケージのキャッシュをすべて削除します。ディスク容量を節約できます。

使用例

# -----------------------------------------------
#  システムを最新状態に更新する
# -----------------------------------------------

# 更新可能なパッケージを事前に確認します
sudo dnf check-update

# インストール済みパッケージをすべて更新します
sudo dnf update

実行するコマンドは次の通りです。

$ sudo dnf check-update
Last metadata expiration check: 0:05:12 ago on Wed Mar 25 10:00:00 2026.

bash.x86_64               5.1.8-6.el9_1          baseos
glibc.x86_64              2.34-60.el9_2.4        baseos
openssl.x86_64            3.0.7-25.el9_3         baseos
Nginx をインストールして動作確認する
# -----------------------------------------------
#  Nginx のインストールと確認
# -----------------------------------------------

# Nginx をインストールします
sudo dnf install nginx

# インストールされたバージョンを確認します
nginx -v

# Nginx を起動して自動起動も有効化します
sudo systemctl enable --now nginx

実行するコマンドは次の通りです。

$ nginx -v
nginx version: nginx/1.20.1
EPEL リポジトリを有効化して追加パッケージをインストールする
# -----------------------------------------------
#  EPEL を有効化して htop をインストールします
#  (htop は EPEL に収録されており、標準リポジトリにはありません)
# -----------------------------------------------

# まず EPEL リポジトリを有効化します
sudo dnf install epel-release

# EPEL が追加されたことを確認します
dnf repolist

# htop をインストールします(桐生一馬の活動状況を監視するイメージで)
sudo dnf install htop

# htop を起動してプロセスを確認します
htop

実行するコマンドは次の通りです。

$ dnf repolist
repo id              repo name
appstream            AlmaLinux 9 - AppStream
baseos               AlmaLinux 9 - BaseOS
epel                 Extra Packages for Enterprise Linux 9 - x86_64
extras               AlmaLinux 9 - Extras
不要なパッケージをきれいに削除する
# -----------------------------------------------
#  パッケージの削除と後片付け
# -----------------------------------------------

# apache httpd を削除します(nginx に移行した後の後片付けです)
sudo dnf remove httpd

# httpd のインストール時に追加された孤立パッケージも削除します
sudo dnf autoremove

# キャッシュに溜まったダウンロード済みパッケージファイルを削除します
sudo dnf clean all

# httpd が削除されたことを確認します
dnf list installed | grep httpd

実行するコマンドは次の通りです。

$ dnf list installed | grep httpd
(何も表示されなければ削除完了です)
利用可能なバージョンを確認して特定バージョンをインストールする
# -----------------------------------------------
#  バージョンを確認して指定インストールします
# -----------------------------------------------

# インストール可能なバージョンの一覧を確認します
dnf list --showduplicates nginx

実行するコマンドは次の通りです。

$ dnf list --showduplicates nginx
Last metadata expiration check: 0:10:45 ago on Wed Mar 25 10:00:00 2026.
Available Packages
nginx.x86_64    1:1.20.1-14.el9_2.1    appstream
nginx.x86_64    1:1.22.1-3.el9         appstream

実装例は次の通りです。

# バージョンを指定してインストールします
sudo dnf install nginx-1.20.1

# バージョンが固定されていることを確認します
nginx -v

実行するコマンドは次の通りです。

$ nginx -v
nginx version: nginx/1.20.1

概要

『dnf』は RHEL・AlmaLinux・Rocky Linux・CentOS Stream などの RPM 系 Linux の標準パッケージ管理ツールです。旧ツールである『yum』(Yellowdog Updater Modified)の後継として RHEL 8 から正式採用されており、依存関係解決の高速化・メモリ使用量の削減・Python 3 への完全移行が図られています。RHEL 7 以前の環境では yum コマンドを使用しますが、基本的な操作(install / update / remove)のオプションは dnf とほぼ共通です。EPEL リポジトリ(epel-release)を有効化すると、公式リポジトリに収録されていない 『htop』や『redis』、『certbot』など多くのパッケージが利用可能になります。Debian・Ubuntu 系のパッケージ管理については apt のページを参照してください。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。