EPELリポジトリの概要をまとめました。

EPELとは
EPELとはExtra Packages for Enterprise Linux の略です。Red Hat Enterprise Linuxについかでインストールしたいrpmパッケージをyum/dnfコマンドでインストールしたい際に有効化します。
Extra Packages for Enterprise Linux (EPEL) とは、CentOS Stream および RHEL で使用するために Fedora パッケージ作成者によって管理されているリポジトリです。これは確かに奇妙なパッケージの組み合わせですが、おそらく主に他の CentOS Stream や RHEL の管理者たちが実際に使用しているものに基づいているのでしょう。個人的には、優れた inxi コマンドをインストールする際でも、 KDE Plasma Desktop 全体をインストールする際でも、これは不可欠だと考えています。
リポジトリの概要
リポジトリ、もしくはレポジトリなどと発音するこの概念は、yum/dnfコマンドでrpmパッケージをインストールする際に参照するサーバーのことです。インストールしたいRPMパッケージがリポジトリと呼ばれるサーバーへ格納されていて、yum/dnfコマンドを実行することでリポジトリからRPMファイルをダウンロードしてインストールを実施します。
RHEL9.6でEPELリポジトリを有効化する
Red Hat Enterprise Linux 9.6でEPELリポジトリを有効化してみます。
以下の2つの作業を行います。
- CodeReady Linux Builder リポジトリを有効化
- EPEL RPM をインストール
RHEL9公式ドキュメントの「CodeReady Linux Builder」ページがなぜか空白の状態だったためRHEL8の公式ドキュメントの「CodeReady Linux Builder」ページのリンクを以下に参考資料として記載しておきます。
作業前に現在のリポジトリの状態を確認する
Red Hat Enterprise Linux 9.6で作業を実施しますが、作業実施前に現在のリポジトリの有効状態を確認します。
以下のコマンドで有効になっているリポジトリを確認できます。
$ dnf repolist
以下のコマンドを実行すると有効化されているリポジトリと無効化されているリポジトリすべてを確認できます。
$ dnf repolist --all
今回はこちらの–allをつけて実行したコマンドの実行結果を作業の前後をWinmergeで確認してみます。作業前後のdnf repolist –allコマンドの実行結果比較は以下の差分でした。


最初の3行目までの差分は特に検証結果として気にしなくてよい差分でした。

差分をテキストで抜粋すると以下になります。
epel Extra Packages for Enterprise Linux 9 - x86_64 有効化
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64 有効化
epel-cisco-openh264-debuginfo Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64 - Debug 無効化
epel-cisco-openh264-source Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64 - Source 無効化
epel-debuginfo Extra Packages for Enterprise Linux 9 - x86_64 - Debug 無効化
epel-source Extra Packages for Enterprise Linux 9 - x86_64 - Source 無効化
epel-testing Extra Packages for Enterprise Linux 9 - Testing - x86_64 無効化
epel-testing-debuginfo Extra Packages for Enterprise Linux 9 - Testing - x86_64 - Debug 無効化
epel-testing-source Extra Packages for Enterprise Linux 9 - Testing - x86_64 - Source 無効化
まずはCodeReady Linux Builderリポジトリ(CRBリポジトリ)の有効化
以下のコマンドを使ってCodeReady Linux Builderリポジトリを有効化します。
# subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms
$(arch)にはCPUのアーキテクチャを入力します。こちらの環境ではx86_64が該当のアーキテクチャだったので、以下のコマンドをRed Hat Enterprise Linux 9.6で実行します。
# subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms
実行結果は以下です。
[root@RHEL96 ~]# subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms
リポジトリー 'codeready-builder-for-rhel-9-x86_64-rpms' は、このシステムに対して有効になりました。

dnf repolist コマンドを実行してリポジトリが有効になっていることを確認します。
[root@RHEL96 ~]# dnf repolist
サブスクリプション管理リポジトリーを更新しています。
repo id repo の名前
codeready-builder-for-rhel-9-x86_64-rpms Red Hat CodeReady Linux Builder for RHEL 9 x86_64 (RPMs)
rhel-9-for-x86_64-appstream-rpms Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)
rhel-9-for-x86_64-baseos-rpms Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)

CodeReady Linux Builderリポジトリの有効化ができています。
EPEL RPMをインストールする
Red Hat公式の記事にある、以下のコマンドでEPEL RPMをインストールします。
# dnf install \ https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

fedoraproject.orgは、Red Hat Enterprise Linuxの開発段階のLinuxディストリビューションです。EPELはfedoraproject.orgによって管理されています。
実際にRed Hat Enterprise Linux 9.6でコマンドを実行してみました。
[root@RHEL96 ~]# dnf install \ https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
サブスクリプション管理リポジトリーを更新しています。
Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs) 6.5 MB/s | 72 MB 00:11
Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs) 4.6 MB/s | 86 MB 00:18
Red Hat CodeReady Linux Builder for RHEL 9 x86_64 (RPMs) 4.0 MB/s | 14 MB 00:03
[MIRROR] epel-release-latest-9.noarch.rpm: Curl error (3): URL using bad/illegal format or missing URL for https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm []
[MIRROR] epel-release-latest-9.noarch.rpm: Curl error (3): URL using bad/illegal format or missing URL for https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm []
[MIRROR] epel-release-latest-9.noarch.rpm: Curl error (3): URL using bad/illegal format or missing URL for https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm []
[MIRROR] epel-release-latest-9.noarch.rpm: Curl error (3): URL using bad/illegal format or missing URL for https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm []
[FAILED] epel-release-latest-9.noarch.rpm: Curl error (3): URL using bad/illegal format or missing URL for https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm []
Curl error (3): URL using bad/illegal format or missing URL for https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm []
以下Curlのエラーが表示されました。
Curl error (3): URL using bad/illegal format or missing URL for https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm []
おそらくバックスラッシュが\表記であることが問題かと思います。¥を削除して以下のコマンドを実行しました。
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
実行結果は以下です。
[root@RHEL96 ~]# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
サブスクリプション管理リポジトリーを更新しています。
メタデータの期限切れの最終確認: 0:01:59 前の 2025年11月04日 22時34分48秒 に実施しました。
epel-release-latest-9.noarch.rpm 12 kB/s | 19 kB 00:01
依存関係が解決しました。
=============================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
=============================================================================================================================================================
インストール:
epel-release noarch 9-10.el9 @commandline 19 k
トランザクションの概要
=============================================================================================================================================================
インストール 1 パッケージ
合計サイズ: 19 k
インストール後のサイズ: 26 k
これでよろしいですか? [y/N]:

yキーを押下してEnterキーを押下します。
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
トランザクションを確認しています
トランザクションの確認に成功しました。
トランザクションをテストしています
トランザクションのテストに成功しました。
トランザクションを実行しています
準備中 : 1/1
インストール中 : epel-release-9-10.el9.noarch 1/1
scriptletの実行中: epel-release-9-10.el9.noarch 1/1
Many EPEL packages require the CodeReady Builder (CRB) repository.
It is recommended that you run /usr/bin/crb enable to enable the CRB repository.
検証中 : epel-release-9-10.el9.noarch 1/1
インストール済みの製品が更新されています。
インストール済み:
epel-release-9-10.el9.noarch
完了しました!

EPELリポジトリが有効化されていることを確認する
dnf repolistコマンドでリポジトリの有効状態を確認してみます。
[root@RHEL96 ~]# dnf repolist
サブスクリプション管理リポジトリーを更新しています。
repo id repo の名前
epel Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
rhel-9-for-x86_64-appstream-rpms Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)
rhel-9-for-x86_64-baseos-rpms Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)

EPELリポジトリを有効化できました。
前述していますが、dnf repolist –allコマンドの作業前後での実施結果の差分は以下でした。以下の行がdnf repolist –allコマンドの実行結果で追記された行です。
epel Extra Packages for Enterprise Linux 9 - x86_64 有効化
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64 有効化
epel-cisco-openh264-debuginfo Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64 - Debug 無効化
epel-cisco-openh264-source Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64 - Source 無効化
epel-debuginfo Extra Packages for Enterprise Linux 9 - x86_64 - Debug 無効化
epel-source Extra Packages for Enterprise Linux 9 - x86_64 - Source 無効化
epel-testing Extra Packages for Enterprise Linux 9 - Testing - x86_64 無効化
epel-testing-debuginfo Extra Packages for Enterprise Linux 9 - Testing - x86_64 - Debug 無効化
epel-testing-source Extra Packages for Enterprise Linux 9 - Testing - x86_64 - Source 無効化
参考資料
本記事の作成に使用した参考資料を掲載します。



