Rocky Linux 9 一覧へ戻る トップRocky Linux 9 / パッケージ管理(dnf/yum)
Rocky Linux 9 ・ セキュリティ・管理

🚀 パッケージ管理(dnf/yum)

DNF (Dandified YUM) の仕組みから、更新・履歴管理・拡張リポジトリの追加まで

dnf EPEL / ELRepo / Remi

目次

  1. 概要
  2. 仕組みの理解:yum と dnf の正体
  3. 実践:システムを最新化する
  4. 実務で必須!知っておくべき3つの重要知識
  5. 応用編:効率的なパッケージ操作
  6. 設定ファイル:dnf.confの役割
  7. よく使うdnfコマンド早見表
  8. 拡張リポジトリの追加(EPEL / ELRepo / Remi)
  9. まとめ

概要

サーバー構築の第一歩は、システムを最新の状態に保つことです。Rocky Linux 9 で採用されているパッケージ管理システム DNF (Dandified YUM) について、その本質を理解しましょう。

1. 仕組みの理解:yum と dnf の正体

Rocky Linux 9 において、yum コマンドと dnf コマンドに違いはありません。

■ コマンドの実体を確認する

以下のコマンドを打つと、その関係性が一目で分かります。

$ ls -l /usr/bin/yum
lrwxrwxrwx. 1 root root 5 12月 29 14:11 /usr/bin/yum -> dnf-3
# 結果: /usr/bin/yum -> dnf (yumはdnfを指している)

$ ls -l /usr/bin/dnf
lrwxrwxrwx. 1 root root 5 12月 29 14:11 /usr/bin/dnf -> dnf-3
# 結果: /usr/bin/dnf -> dnf-3 (dnfはdnf-3を指している)

■ なぜ2つの名前があるのか?

結論:学習・運用においては、モダンな名称である dnf を使うのが推奨されます。

参考:dnf history の見え方

$ sudo dnf history
ID     | コマンドライン           | 日時             | 動作      | 変更さ
------------------------------------------------------------------------
    3   | install -y vim wget curl net-to | 2026-03-15 11:15 | Install  |   72
    2   | update -y                       | 2026-03-15 11:09 | I, U     |   90 <
    1   |                                 | 2026-03-15 10:59 | Install  |  434 >E

このように「いつ、何を、どう変更したか」がすべて記録されます。

2. 実践:システムを最新化する

■ システム全体のアップグレード

インストール直後や定期メンテナンスで実行します。

sudo dnf upgrade

-y オプション

sudo dnf -y upgrade とすると、途中の確認(y/n?)をすべて「yes」で自動回答します。

■ 「update」と「upgrade」の違い

RHEL系(Rocky含む)においては、現在この2つに機能差はありません。以前のLinuxでは「update は更新、upgrade は削除を伴う更新」という違いがありましたが、現在のDNFではどちらを打っても同じ安全な更新処理が行われます。

3. 実務で必須!知っておくべき3つの重要知識

① カーネル更新と再起動

システムアップデート(upgrade)の中に「kernel」という項目が含まれていた場合、OSの再起動が必要です。

理由

カーネルはOSの心臓部であり、動いている最中に中身を入れ替えることができないためです。再起動して初めて新しい心臓部で動き出します。

sudo reboot

② アップデート履歴の管理(タイムマシン機能)

DNFは「いつ、何のパッケージを更新したか」をすべて記録しています。

# 履歴の一覧を見る
sudo dnf history
# 特定の回(例:ID 5番)の詳細を見る
sudo dnf history info 5
# 【強力】失敗したアップデートを元に戻す(ロールバック)
sudo dnf history undo 5

③ キャッシュのクリア

「メタデータの同期に失敗しました」などのエラーが出た際、古い情報を一度掃除することで解決することがあります。

sudo dnf clean all

4. 応用編:効率的なパッケージ操作

目的コマンド解説
検索dnf search キーワード欲しいソフトがあるか探す
情報確認dnf info パッケージ名そのソフトの説明やバージョンを見る
インストールdnf install パッケージ名新しくソフトを入れる
削除dnf remove パッケージ名不要なソフトを消す
グループ管理dnf group list「開発ツール一式」などのセットを確認

5. 設定ファイル:dnf.confの役割

DNFの動作設定は以下のファイルで行います。

場所:/etc/dnf/dnf.conf

(学習ポイント)便利な設定例

このファイルに max_parallel_downloads=10 と追記すると、ダウンロードを複数同時に行うようになり、アップデートが高速化します。

6. よく使うdnfコマンド早見表

操作コマンド
システム全体を更新sudo dnf upgrade
パッケージを検索dnf search キーワード
インストール済みパッケージの一覧dnf list installed
特定パッケージがインストール済みか確認rpm -q パッケージ名
パッケージがどのファイルを持つか確認rpm -ql パッケージ名
依存関係を含めて削除sudo dnf remove パッケージ名
使われなくなった依存パッケージを一括削除sudo dnf autoremove
有効なリポジトリの一覧を確認dnf repolist
更新履歴を見るsudo dnf history
失敗した更新を取り消すsudo dnf history undo ID番号

7. 拡張リポジトリの追加(EPEL / ELRepo / Remi)

Rocky Linux 9 標準のリポジトリ(BaseOS / AppStream / CRB)だけでは提供されないソフトウェアも多くあります。代表的な拡張リポジトリを紹介します。

リポジトリ主な用途
EPELhtop、7-zip など、コミュニティ提供の定番ツールを追加
ELRepo最新のハードウェアドライバ・カーネル関連パッケージ
RemiPHP など、より新しいバージョンのWeb系ソフトウェア
# EPELリポジトリの導入
sudo dnf install epel-release
sudo dnf makecache
# 導入済みリポジトリの確認
dnf repolist
実機での確認結果
repo id             repo の名前
appstream           Rocky Linux 9 - AppStream
baseos              Rocky Linux 9 - BaseOS
crb                 Rocky Linux 9 - CRB
elrepo              ELRepo.org Community Enterprise Linux Repository - el9
epel                Extra Packages for Enterprise Linux 9 - x86_64
extras              Rocky Linux 9 - Extras
remi-modular        Remi's Modular repository for Enterprise Linux 9 - x86_64
remi-safe           Safe Remi's RPM repository for Enterprise Linux 9 - x86_64

本サイトのRocky Linux 9サーバーでも実際にEPEL・ELRepo・Remiが導入済みであることを確認しています。

拡張リポジトリ利用時の注意

拡張リポジトリを増やすほど、パッケージの選択肢が広がる一方で、パッケージ間の依存関係の競合(特にPHPなどのバージョン違い)が起こりやすくなります。dnf.confgpgcheck=1(署名検証)を無効化しないこと、そして信頼できるリポジトリのみを追加することが重要です。

📌 まとめ:このガイドのポイント

Rocky Linux 9 一覧へ戻る