Rocky Linux 9 一覧へ戻る トップRocky Linux 9 / 外部リポジトリ追加・管理
Rocky Linux 9 ・ セキュリティ・管理

📘 外部リポジトリ追加・管理

EPEL / ELRepo / Remi の導入と、優先度(Priority)設定によるパッケージ衝突の回避

EPEL ELRepo Remi

目次

  1. 基本知識:なぜ外部リポジトリが必要か?
  2. リポジトリ優先度(Priority)の考え方
  3. Rocky Linux 9の「隠れた標準」:CRBリポジトリ
  4. 三大リポジトリの導入手順
  5. 優先度(priority=10)の具体的な書き方
  6. 実務で使うリポジトリ操作コマンド
  7. 管理者向け:リポジトリ設定チートシート
  8. 学習のポイントと注意点
  9. 実機で確認した設定状況
  10. 次のステップへのアドバイス

1. 基本知識:なぜ外部リポジトリが必要か?

Rocky Linux 9 の標準リポジトリ(BaseOS, AppStream)は、「安定性」を最優先しているため、パッケージの種類が限定的だったり、バージョンが少し古かったりします。

リポジトリ補うもの
EPEL標準にない便利なツール(htop, 7-zip, VPN関連など)
ELRepo最新のカーネルやハードウェアドライバ
Remi最新の PHP や Redis など、Web開発に必要な最新版

2. 運用を安定させる「リポジトリ優先度(Priority)」

複数のリポジトリを混ぜると、同じソフトの別バージョンが衝突してシステムが不安定になることがあります。これを防ぐのが priority 設定です。

■ 設定の考え方

3. Rocky Linux 9 の「隠れた標準」:CRBリポジトリ

Rocky Linux 9 では、以前の PowerTools に相当する CRB (Code Ready Builder) リポジトリが無効状態で用意されています。EPELを使う際、これが必要になることが多いため、最初に有効化します。

# CRBリポジトリを有効化
sudo dnf config-manager --set-enabled crb

4. 三大リポジトリの導入手順

① EPEL (Extra Packages for Enterprise Linux)

最も一般的で、ほぼ必須のリポジトリです。

# インストール
sudo dnf -y install epel-release
# 優先度の設定(例)
sudo vi /etc/yum.repos.d/epel.repo
# [epel] セクションに priority=10 を追記
② ELRepo (Enterprise Linux Repository)

最新のカーネルや、NIC・GPUなどのドライバが必要な場合に導入します。

# インストール
sudo dnf -y install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
# 優先度の設定(例)
sudo vi /etc/yum.repos.d/elrepo.repo
# [elrepo] セクションに priority=10 を追記
③ Remi リポジトリ

最新の PHP 環境などを構築する場合に必須です。

# インストール
sudo dnf -y install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
# 優先度の設定(例)
sudo vi /etc/yum.repos.d/remi-safe.repo
# [remi-safe] セクションに priority=10 を追記

5. 優先度(priority=10)の具体的な書き方

結論から言うと、各リポジトリの「設定のブロック([epel] などで始まる塊)」の中に、priority=10 という行を書き加えるだけでOKです。

EPELリポジトリの設定例(/etc/yum.repos.d/epel.repo)

一番上の [epel] というブロックの最後に追記します。修正後のイメージ:

[epel]
name=Extra Packages for Enterprise Linux 9 - $basearch
# (中略)
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-9&arch=$basearch&infra=$infra&content=$contentdir
enabled=1
gpgcheck=1
countme=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
priority=10   <-- ここに追加!

具体的な操作手順(viエディタの場合)

  1. ファイルを開く:sudo vi /etc/yum.repos.d/epel.repo
  2. 書き込みモードにする:キーボードの i を押します(画面下に -- INSERT -- と出ます)。
  3. カーソルを移動して追記する:一番上の [epel] セクションにある gpgkey=... の下の行に移動し、priority=10 と入力します。
  4. 保存して閉じる:Esc キーを押した後、:wq と入力して Enter を押します。

他のリポジトリも同様です

① ELRepo(/etc/yum.repos.d/elrepo.repo)[elrepo] セクションの中に追記します。

[elrepo]
name=ELRepo.org Community Enterprise Linux Repository - el9
# (中略)
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
priority=10   # 追加

② Remi(/etc/yum.repos.d/remi-safe.repo)[remi-safe] セクションの中に追記します。

[remi-safe]
name=Safe Remi's RPM repository for Enterprise Linux 9 - $basearch
# (中略)
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi.el9
priority=10   # 追加

💡 なぜこのように入れるのか?

[epel][elrepo] というカッコで囲まれた部分は、そのリポジトリの設定の「始まり」を意味します。次のカッコ(例:[epel-debuginfo])が出てくるまでの間が、そのリポジトリの設定範囲です。

ですので、enabled=1(有効)になっているブロックの中であれば、どこに書いても動作しますが、一番下に書くのが見やすくて一般的です。

設定が終わったら、以下のコマンドで優先度が反映されているか確認できます。

dnf repolist -v epel

表示された結果の中に Repo-priority: 10 という行があれば、設定は完全に有効です。

6. 実務で使うリポジトリ操作コマンド

■ 有効なリポジトリを一覧表示する

「今、どこからソフトを入れられる状態か」を確認します。

dnf repolist

■ 特定のリポジトリを「一時的に」使ってインストールする

普段は無効(enabled=0)にしているリポジトリから、その時だけソフトを入れる安全な方法です。

# epel を一時的に有効にしてインストール
sudo dnf --enablerepo=epel install <パッケージ名>

■ リポジトリを一時的に「除外して」インストールする

標準リポジトリのものを使いたいのに、外部リポジトリが邪魔をする場合に使います。

sudo dnf --disablerepo=remi* install <パッケージ名>

7. 管理者向け:リポジトリ設定チートシート

リポジトリ名特徴導入コマンド
CRB開発者用(標準)dnf config-manager --set-enabled crb
EPEL汎用ツール多数dnf install epel-release
ELRepoハード・カーネルdnf install https://www.elrepo.org/...
Remi最新Webスタックdnf install https://rpms.remirepo.net/...

8. 学習のポイントと注意点

  1. 混ぜすぎ厳禁:リポジトリを増やしすぎると、依存関係が複雑になり「dnf upgrade」が失敗しやすくなります。必要なものだけを入れるのが鉄則です。
  2. 設定ファイルの場所:すべてのリポジトリ設定は /etc/yum.repos.d/ 配下に .repo という拡張子で保存されています。
  3. 優先度の確認:新しいソフトを入れる前に dnf repolist を打つ習慣をつけましょう。

実機で確認した設定状況

2026年8月4日時点で、本サイトのRocky Linux 9サーバーの実際の設定を確認しました。

$ grep priority /etc/yum.repos.d/epel.repo
priority=10

$ dnf repolist --all | grep crb
crb              Rocky Linux 9 - CRB          有効化

精査メモ

元の資料の末尾には「EPELの設定が完了したので、残りのELRepoとRemiについても同じようにpriority=10を追記すれば完了」という記載がありましたが、実機を確認したところ、ELRepoとRemiへの追記は実施されないままになっていました。EPELだけ優先度が保護され、ELRepo・Remiは標準優先度(99)のまま外部パッケージが優先されうる状態です。

次のステップへのアドバイス

外部リポジトリが使えるようになったら、次は「dnf-automatic」を使ったセキュリティアップデートの自動化や、「versionlock」を使った特定のソフト(カーネルなど)のバージョン固定について学ぶと、よりプロフェッショナルな運用ができるようになります。

Rocky Linux 9 一覧へ戻る