RHEL系Linuxを使っていると、標準リポジトリにはないパッケージを追加したい場面が必ずやってきます。
この記事では、EPELリポジトリの基本的な考え方から、CentOS 7・RHEL 8/9・AlmaLinux 9・Rocky Linux 9それぞれの追加手順、よく使うパッケージ、リスクと注意点までを実際のサーバー環境をベースに解説します。
この記事のポイント
・EPELはFedoraプロジェクトが管理する追加パッケージリポジトリ
・CentOS 7はyum install epel-release一発で追加できる
・RHEL 8/9はsubscription-managerでCodeReadyを有効にしてからが必須
・AlmaLinux/Rocky Linux 9もdnf install epel-releaseで追加可能
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
EPELとは何か|標準リポジトリとの違い
EPEL(Extra Packages for Enterprise Linux)は、Fedoraプロジェクトが管理・提供する追加パッケージリポジトリです。RHEL系Linuxの標準リポジトリには含まれていないが、現場でよく使うツール——htop・jq・nmap・fail2banなど——が約8,000パッケージ以上収録されています。
重要なのは、EPELはFedoraコミュニティが独自に管理しているという点です。つまり、Redhat社の公式サポート対象外です。
本番サーバーへの導入は、この点を理解した上で判断する必要があります。
| リポジトリ | 管理元 | サポート | パッケージ数(目安) |
|---|---|---|---|
| BaseOS / AppStream | Red Hat / OS開発元 | 公式サポートあり | 約1,500 |
| EPEL | Fedoraプロジェクト | コミュニティサポート | 約8,000以上 |
CentOS 7でEPELを追加する方法
CentOS 7はすでに2024年6月にサポート終了(EOL)を迎えていますが、既存環境で使い続けているケースもあります。CentOS 7ではepel-releaseパッケージがBaseOSリポジトリに含まれているため、コマンド1つで追加できます。
1. epel-releaseをインストールする
# CentOS 7:epel-releaseをインストール $ sudo yum install epel-release -y # インストール確認 $ yum repolist | grep epel epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,664
2. EPELが有効になっているか確認する
# リポジトリ一覧を確認 $ yum repolist all | grep epel epel/x86_64 Extra Packages for Enterprise Linux 7 enabled: 13,664 epel-debuginfo Extra Packages for Enterprise Linux 7 disabled epel-source Extra Packages for Enterprise Linux 7 disabled
enabled と表示されていれば正常にEPELが利用できる状態です。RHEL 8 / RHEL 9でEPELを追加する方法
RHEL(Red Hat Enterprise Linux)の場合は、CentOSと手順が異なります。RHEL 8/9では、EPELを利用する前に「CodeReady Linux Builder」(RHEL 9ではCRB: CodeReady Build)リポジトリを有効にする必要があります。このリポジトリを有効にしないとEPELのパッケージが依存するライブラリが不足してしまいます。
1. subscription-managerでリポジトリを確認する
# RHEL 8/9:サブスクリプションが有効か確認 $ sudo subscription-manager status +-------------------------------------------+ System Status Details +-------------------------------------------+ Overall Status: Current
2. CodeReady Linux Builderを有効にする
# RHEL 8の場合 $ sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms # RHEL 9の場合 $ sudo subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms # 有効化を確認 $ sudo dnf repolist | grep codeready codeready-builder-for-rhel-9-x86_64-rpms Red Hat CodeReady Linux Builder 3,421
3. EPELをインストールする
# RHEL 8 $ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y # RHEL 9 $ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm -y # インストール確認 $ sudo dnf repolist | grep epel epel Extra Packages for Enterprise Linux 9 1,892
AlmaLinux 9 / Rocky Linux 9でEPELを追加する方法
AlmaLinux 9・Rocky Linux 9はどちらもepel-releaseパッケージがリポジトリから直接インストールできます。ただし、CRBリポジトリ(CodeReady Build)を有効にしてからEPELを追加することを推奨します。
1. CRBリポジトリを有効にする
# AlmaLinux 9 / Rocky Linux 9 共通 $ sudo dnf config-manager --set-enabled crb # 有効になったか確認 $ sudo dnf repolist | grep crb crb AlmaLinux 9 - CRB 1,230
2. epel-releaseをインストールする
# AlmaLinux 9 / Rocky Linux 9 共通 $ sudo dnf install epel-release -y # インストール確認 $ sudo dnf repolist | grep epel epel Extra Packages for Enterprise Linux 9 1,892 epel-next Extra Packages for Enterprise Linux 9 - Next 69
epel-next リポジトリも同時に追加されます。これはFedoraパッケージの次バージョンを先行テストするためのものです。yum-config-managerでEPELの優先度を設定する
EPELが有効になった後、BaseOSの標準パッケージとEPELパッケージでバージョン競合が起きることがあります。そういった場合は
yum-config-manager(dnf版はdnf config-manager)でEPELの優先度を下げておくと安全です。1. EPELを一時的に無効化してパッケージをインストールする
# EPELを除外した状態でインストール(競合時の回避) $ sudo dnf install --disablerepo=epel パッケージ名 # 逆にEPELのみを使う場合 $ sudo dnf install --enablerepo=epel パッケージ名
2. EPELの優先度を下げる(priority設定)
# /etc/yum.repos.d/epel.repo を編集して priority を追加 $ sudo vi /etc/yum.repos.d/epel.repo # [epel]セクションに以下を追加 priority=10 # ※数値が小さいほど優先度が高い。BaseOSのデフォルトは1 # dnf-plugin-prioritiesが必要な場合 $ sudo dnf install dnf-plugin-priorities -y
EPELでよく使うパッケージ一覧
EPELを追加する主な目的は、標準リポジトリに含まれていないツールを使うためです。現場でよく利用するパッケージをまとめます。
| パッケージ名 | 用途 | インストールコマンド |
|---|---|---|
| htop | インタラクティブなプロセス監視ツール | dnf install htop |
| jq | JSONパーサー・フィルタツール | dnf install jq |
| nmap | ポートスキャン・ネットワーク診断 | dnf install nmap |
| fail2ban | ブルートフォース攻撃の自動ブロック | dnf install fail2ban |
| sysstat | CPU/メモリ/I/O統計(sar/iostat) | dnf install sysstat |
| nc(ncat) | ネットワーク接続テスト | dnf install ncat |
| atop | 過去のシステムリソース履歴確認 | dnf install atop |
| glances | システム監視の統合ダッシュボード | dnf install glances |
# パッケージがどのリポジトリから提供されるか確認 $ dnf info htop Repository : epel
EPELの有効化リスクと注意点
EPELは便利なリポジトリですが、本番環境で無計画に使うといくつかのリスクがあります。1. 標準パッケージとのバージョン競合
EPELには標準リポジトリとバージョンが異なるパッケージが含まれることがあります。意図せず依存関係が変更され、既存のサービスが停止するリスクがあります。
2. Redhatの公式サポート対象外
EPELのパッケージはコミュニティ管理です。本番環境でサポート契約を締結している場合、EPELパッケージ起因の問題はサポート対象外になる可能性があります。
3. セキュリティパッチの遅延
標準リポジトリと比べて、EPELのセキュリティアップデートは反映が遅れることがあります。定期的に
dnf update を実行し、最新状態を維持することが重要です。本番環境でEPELを使う場合は、ステージング環境での動作確認をしてから適用することを強くお勧めします。
「Cannot retrieve metalink for repository: epel」エラーの対処法
EPELを追加した後、以下のようなエラーが出ることがあります。Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again
1. DNSの動作を確認する
# DNSで名前解決できるか確認 $ dig dl.fedoraproject.org ;; ANSWER SECTION: dl.fedoraproject.org. 300 IN A 8.43.85.60
2. HTTPS接続(443ポート)を確認する
# dl.fedoraproject.orgへのHTTPS接続テスト $ curl -I https://dl.fedoraproject.org/pub/epel/ HTTP/2 200 server: Apache/2.4.62 (Fedora Linux)
3. CentOS 7でEOL後にリポジトリにアクセスできない場合
CentOS 7のEOL(2024年6月)以降、mirrorリポジトリのアクセス先が変わっています。# /etc/yum.repos.d/epel.repo のbaseURLを修正 $ sudo sed -i 's|^metalink|#metalink|g' /etc/yum.repos.d/epel.repo $ sudo sed -i 's|^#baseurl=https://download.fedoraproject.org|baseurl=https://dl.fedoraproject.org|g' /etc/yum.repos.d/epel.repo # キャッシュをクリアして再試行 $ sudo yum clean all && sudo yum makecache
本記事のまとめ
EPELリポジトリの追加手順をOS別にまとめます。| OS | 追加手順 |
|---|---|
| CentOS 7 | sudo yum install epel-release -y |
| RHEL 8 | subscription-manager でCRB有効化 → epel-release-latest-8.noarch.rpmをインストール |
| RHEL 9 | subscription-manager でCRB有効化 → epel-release-latest-9.noarch.rpmをインストール |
| AlmaLinux 9 | sudo dnf config-manager --set-enabled crb && sudo dnf install epel-release -y |
| Rocky Linux 9 | sudo dnf config-manager --set-enabled crb && sudo dnf install epel-release -y |
・CRBリポジトリを先に有効化してから追加する(RHEL 8/9・AlmaLinux・Rocky)
・本番環境ではステージング環境での動作確認を先に実施する
・定期的に
dnf update を実行してセキュリティパッチを適用するrpmパッケージの基本的な使い方については、rpm コマンドの使い方で詳しく解説しています。
Linux基本コマンドの体系的な学習にはLinux 基本コマンドの解説も参考にしてください。
EPELの使い方を含めた、安定したサーバー運用の基礎を固めませんか?
EPELリポジトリの活用はサーバー運用の一歩ですが、パッケージ管理・ファイアウォール・ユーザー管理と合わせて体系的に身につけることで、現場で頼られる存在になれます。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 前のページへ:EC2インスタンスのhostnameを永続変更する方法|Amazon Linux 2・2023対応の手順と注意点
- この記事の属するカテゴリ:Linuxtips・パッケージ管理コマンドへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます