CentOS に EPEL リポジトリをインストールする方法について

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

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

CentOS に EPEL レポジトリをインストールする方法には、主に以下の二通りがあります。

  • CentOS 6 までは、wget でパッケージをダウンロードし、rpm インストール
  • CentOS 7 では、yum インストール

特に、CentOS 7 では、従来の rpm インストールに加え、yum コマンドで簡単にインストールできるようになりました。

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

  • EPEL インストール
  • EPEL デフォルト レポジトリ無効化
  • EPEL 使用例 : パッケージインストール、及びアップデート

Step 1. EPEL リポジトリ インストール

先ほど説明したように、CentOS 6 の場合には、rpm インストール、CentOS 7 の場合には、普通に yum インストールします。

CentOS 6 (32bit) の場合
1
2
3
# cd /tmp/
# wget ftp://ftp.riken.jp/Linux/fedora/epel/6/i386/Packages/e/epel-release-6-8.noarch.rpm
# rpm -ivh ./epel-release-6-8.noarch.rpm
CentOS 6 (64bit) の場合
1
2
3
# cd /tmp/
# wget ftp://ftp.riken.jp/Linux/fedora/epel/6/x86_64/Packages/e/epel-release-6-8.noarch.rpm
# rpm -ivh ./epel-release-6-8.noarch.rpm
CentOS 7 (64bit) の場合
1
# yum -y install epel-release

インストールが終わったら、ちゃんと入ってることを確認します。

rpm パッケージ確認 : CentOS 7 の例
1
2
# rpm -qa | grep "epel"
epel-release-7-5.noarch

Step 2. EPEL デフォルト レポジトリ無効化

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

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

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

まずは、epel.repo の中身を確認します。

現在の設定確認 : CentOS 7 の例
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 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

後は、enabled=1 になっているところを enabled=0 に変更します。

  • epel.repo バックアップ
  • EPEL 無効化 前の確認
  • EPEL 無効化 (enabled=1 を 0 に置換)
  • EPEL 無効化 後の確認
EPEL レポジトリ無効化 : 共通
01
02
03
04
05
06
07
08
09
10
11
12
13
# cp -p /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.org

# cat /etc/yum.repos.d/epel.repo | grep 'enabled'
enabled=1
enabled=0
enabled=0

# sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo

# cat /etc/yum.repos.d/epel.repo | grep 'enabled'
enabled=0
enabled=0
enabled=0

Step 3. EPEL 使用例 : パッケージインストール、及びアップデート

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

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

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

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

終わりに

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

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