CentOS で EPEL / IUS / Remi リポジトリを使う (CentOS-5.x / CentOS-6.x / CentOS-7.x)


EPEL / IUS / Remi リポジトリとは

CentOS 公式で提供されているパッケージのみだと新しいバージョンのソフトウェアが入手できなかったりしますが、 EPEL / Remi / IUS というリポジトリを利用すれば新しいパッケージを CentOS にインストールすることが出来ます。

ここでは EPEL / Remi / IUS それぞれについて解説し、導入方法を掲載します。

EPEL / Remi / IUS は RPM レポジトリと呼ばれ、いわゆるパッケージの貯蔵庫のようなものです。 このリポジトリを yum コマンド経由で利用できるようにします。




EPEL とは

EPEL とは、公式サイト (https://fedoraproject.org/wiki/EPEL/ja) によれば以下のような説明となっています。
エンタープライズ Linux 用の拡張パッケージ(EPEL) は、 Red Hat Enterprise Linux (RHEL) 向けの高品質なアドオンパッケージであり、CentOS や Scientific Linux (SL) のような RHEL からスピンオフしたディストリビューションと互換性のある、Fedora プロジェクトで有志によって作成されたパッケージになります。 Fedora は RHEL のアップストリームであり、EPEL のアドオンパッケージは主に RHEL 向けにビルドされた Fedora リポジトリをソースとしています。


Remi とは

Remi とは公式サイト (https://rpms.remirepo.net/) によれば以下を目指すプロジェクトとして運営されています。
Providing the latest versions of the PHP stack, full featured, and some other software, to the Fedora and Enterprise Linux (RHEL, CentOS, Oracle, Scientific Linux, ...) users. It mainly contains :
  • packages I also maintains in Fedora
  • backports of packages available in Fedora development version
  • some packages incompatible with Fedora policy
  • some packages in progress before being submitted to Fedora repository
  • (nearly) vanilla versions
最新バージョンの PHP スタックの提供、フル機能、そしてその他のソフトウェアを Fedora と Enterprise Linux (RHEL, CentOS, Oracle, Scientific Linux, ...) のユーザー向けです。 主に含んでいるのは :
  • Fedora において Remi 作者がメンテナンスしているパッケージが提供されている
  • Fedora 開発版からの古いバージョンのシステムへパッケージを移植可能としている
  • Fedora のポリシーと非互換の幾つかのパッケージを提供
  • Fedora のリポジトリに提出される前のいくつかのパッケージを提供
  • (ほとんど)素の状態のバージョンを提供(つまりあまり手が加えられていないソフトウェアの提供)


IUS とは

IUS とは公式サイト (https://ius.io/) によると以下のような説明となっています。
IUS is a community project that provides RPM packages for newer versions of select software for Enterprise Linux distributions.
  • Create high quality RPM packages for Red Hat Enterprise Linux (RHEL) and CentOS.
  • Promptly release updated RPM packages once new versions are released by the upstream developers.
  • No automatic replacement of stock RPM packages.
IUS とは有志プロジェクトでエンタープライズ Linux 向けに選択された新しいバージョンの RPM パッケージを提供しています。

  • Red Hat Enterprise Linux (RHEL) and CentOS 向けに高品質な RPM パッケージを作成している
  • 新しいバージョンが上流の開発者によってリリースされたら迅速に更新された RPM パッケージを提供
  • IUS リポジトリに蓄積された RPM を自動的に置き換えることはしない


EPEL / IUS / Remi それぞれが目指すのは新しいバージョンを提供するという点において共通しています。 新しいパッケージを導入すれば新しい機能が使えるようになりますので、是非導入してみましょう。


EPEL リポジトリを利用可能にする

EPEL を利用するために必要なパッケージは "CentOS Extras repository" というものに基本的に含まれていますので、以下のようにして EPEL パッケージを導入します。
sudo yum install epel-release
もし上記コマンドが動作しないあるいはエラーとなる場合、以下のようにして手動で導入する必要があります。
[CentOS-5.x]
wget http://archives.fedoraproject.org/pub/archive/epel/5/x86_64/epel-release-5-4.noarch.rpm
sudo rpm -Uvh epel-epel-release-latest-5*.noarch.rpm

[CentOS-6.x]
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
sudo rpm -Uvh epel-release-6*.rpm

[CentOS-7.x]
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -Uvh epel-release-latest-7*.rpm
EPEL パッケージを導入できたら以下のように yum update コマンドでパッケージの更新版を導入します。

あるいは yum search コマンドで必要なパッケージを検索することで、EPEL リポジトリで提供されているパッケージを検索し yum install でパッケージをインストール可能となります。
sudo yum update


Remi リポジトリを利用可能にする

Remi を利用するために必要なパッケージは、以下のようにして導入します。
[CentOS-5.x]
wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
sudo rpm -Uvh remi-release-5*.rpm

[CentOS-6.x]
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6*.rpm

[CentOS-7.x]
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
sudo rpm -Uvh remi-release-7*.rpm
Remi パッケージは導入してもシステム全体ではデフォルトでは有効になりません。必要に応じて以下のように yum install コマンドでパッケージを導入する必要があります。

hogehoge 部分はインストールするパッケージ名 に置き換えてください。
sudo yum --enablerepo=remi install hogehoge
毎回上記のようにコマンド・オプションを付けなくても、システム全体で Remi リポジトリを有効化することも可能ですので以下に Remi リポジトリを有効化する方法を記載します。

Remi リポジトリをシステム全体で有効にする

Remi リポジトリをシステム全体で有効化するには Remi の設定ファイルを変更する必要があります。 まず /etc/yum.repos.d/remi.repo ファイルをエディタで開き、[remi] 部分の "enabled=0" を "enabled=1" に書き換えてファイルを保存します。これでシステム全体で Remi リポジトリが有効化されます。
sudo vi /etc/yum.repos.d/remi.repo


以下の [remi] 部分の "enabled=0" を "enabled=1" に書き換えます。

[remi]
name=Remi's RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/remi/$basearch/
#mirrorlist=https://rpms.remirepo.net/enterprise/7/remi/httpsmirror
mirrorlist=http://rpms.remirepo.net/enterprise/7/remi/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
..... 一部省略 .....

システム全体で Remi パッケージを有効化したら、以下のように yum update コマンドでパッケージの更新版を導入します。

 あるいは yum search コマンドで必要なパッケージを検索することで、Remi リポジトリで提供されている パッケージを検索し yum install でパッケージをインストール可能となります。
sudo yum update


IUS リポジトリを利用可能にする

IUS を利用するために必要なパッケージは以下のようにして導入します。
[CentOS-6.x]
wget https://centos6.iuscommunity.org/ius-release.rpm
sudo rpm -Uvh ius-release*.rpm

[CentOS-7.x]
wget https://centos7.iuscommunity.org/ius-release.rpm
sudo rpm -Uvh ius-release*.rpm
IUS では CentOS-6.x と CentOS-7.x を自動的に判別してくれてリポジトリを追加してくれるスクリプトも 提供されていますので、以下のようにして導入することも可能です。
[CentOS-6.x and CentOS-7.x]
curl -s https://setup.ius.io/ | bash
IUS パッケージを導入できたら以下のように yum update コマンドでパッケージの更新版を導入します。 あるいは yum search コマンドで必要なパッケージを検索することで、IUS リポジトリで提供されている パッケージを検索し yum install でパッケージをインストール可能となります。
sudo yum update