CentOS 7 に EPEL リポジトリをインストールする

EPEL は、Red Hat Enterprise Linux (RHEL) 向けの拡張パッケージ集です。

EPEL を導入することによって、Fedora で開発された良質のパッケージを RHEL や CentOS のようなディストリビューションで使えるようになります。

また、CentOS に EPEL レポジトリを追加する方法の一つとして、昔のやり方だと wget で直接パッケージァイルをダウンロードし、rpm コマンドで直接インストールする方法がありましたが、CentOS 7 では、yum コマンドで普通にインストールできるようになっているので、EPEL 自体は簡単に導入できます。

主に以下の作業を実施します。

  • EPEL パッケージインストール
  • EPEL レポジトリ無効化
  • EPEL を使ってパッケージインストール、及びアップデート

Step 1. EPEL パッケージインストール

yum を使って、EPEL をインストールします。

CentOS 7 EPEL 導入Raw Code(S)Raw Code(T)
# yum -y install epel-release
読み込んだプラグイン:fastestmirror, langpacks
base                                      kB  00:00:00
extras                                    kB  00:00:00
updates                                   kB  00:00:00
(1/2): extras/7/x86_64/primary_db         kB  00:00:00
(2/2): updates/7/x86_64/primary_db        MB  00:00:00
Determining fastest mirrors
 * base: centos.usonyx.net
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ epel-release.noarch 0:7-5 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

======================================================================================
 Package                  アーキテクチャー    バージョン    リポジトリー     容量
======================================================================================
インストール中:
 epel-release             noarch              7-5           extras           14 k

トランザクションの要約
======================================================================================
インストール  1 パッケージ

総ダウンロード容量: 14 k
インストール容量: 24 k
Downloading packages:
epel-release-7-5.noarch.rpm    |  14 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中    : epel-release-7-5.noarch    1/1
  検証中            : epel-release-7-5.noarch    1/1

インストール:
  epel-release.noarch 0:7-5

完了しました!

# rpm -qa | grep epel
epel-release-7-5.noarch

Step 2. EPEL レポジトリ無効化

EPEL は、デフォルトで EPLE レポジトリが有効化された状態でインストールされます。

EPEL リポジトリが有効になっていると yum 実行時に現在システムで使っている既存のレポジトリと競合するため、EPEL 無効にしておく必要があります。

各レポジトリごとに優先度を設定する方法もありますが、全てのレポジトリに設定しないといけないため、レポジトリが増えてくると少々管理が面倒なので、基本的には無効にして使い時だけ有効にして使った方が楽です。(オプションを指定するだけです)

EPEL レポジトリ無効化Raw Code(S)Raw Code(T)
━━━━ 現在の設定確認 ━━━━
# cat /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

━━━━ バックアップ ━━━━
# cp -p /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.org

━━━━ EPEL 無効化前 ━━━━
# cat /etc/yum.repos.d/epel.repo | grep 'enabled'
enabled=1
enabled=0
enabled=0

━━━━ EPEL 無効化 (1 を 0 に置換) ━━━━
# sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo

━━━━ EPEL 無効化後 ━━━━
# cat /etc/yum.repos.d/epel.repo | grep 'enabled'
enabled=0
enabled=0
enabled=0

Step 3. EPEL を使ってパッケージインストール、及びアップデート

EPEL を使ってパッケージをインストールする際には、以下のようにオプションとして --enablerepo=epel を指定します。

EPEL 使ってパッケージインストールRaw Code(S)Raw Code(T)
# yum -y install <パッケージ名> --enablerepo=epel

また、EPEL リポジトリをアップデートする際にも同じようにオプションとして --enablerepo=epel を指定します。

EPEL リポジトリアップデートRaw Code(S)Raw Code(T)
# yum -y update epel-release --enablerepo=epel

EPEL リポジトリ追加 : コマンドまとめ

以下、EPEL リポジトリを追加する際に必要化コマンド集です。

EPEL レポジトリ追加 : コマンドまとめRaw Code(S)Raw Code(T)
# yum -y install epel-release    #### EPEL インストール
# rpm -qa | grep epel            #### EPEL インストール確認

# cp -p /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.org    #### バックアップ

# cat /etc/yum.repos.d/epel.repo | grep 'enabled'    #### 設定確認 (置換前)
# sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo        #### EPEL 無効化
# cat /etc/yum.repos.d/epel.repo | grep 'enabled'    #### 設定確認 (置換後) 

# yum -y install <パッケージ名> --enablerepo=epel    #### EPEL を使ったパッケージインストール

# yum -y update epel-release --enablerepo=epel       #### EPLE リポジトリアップデート

終わりに

RHEL、CentOS の標準リポジトリで提供されないパッケージ類は、EPEL を導入することによって使えるようになるので、その分選の幅が広がります。

是非活用してみてください。

以上、CentOS 7 EPEL リポジトリ追加 でした。