LoginSignup
57

More than 5 years have passed since last update.

CentOSのyumレポジトリ: EPEL, Remi, Software Collectionsの違いとまとめ

Last updated at Posted at 2018-03-05

先日CentOSでLAMP環境を構築する機会があったのですが、サードパーティのyumレポジトリは使用したくないため、いろいろ探してみたところ、Software Collections(SCL)というCentOSの公式レポジトリ(要追加)があることがわかりました。結構新しいバージョンのphpやhttpd,mysql(mariadb)が配布されているため、手っ取り早く環境を構築したい人はおすすめです。

本記事では、EPELやRemiなどその他の主だったyumレポジトリと比較してSoftwareCollectionsの位置づけと概要をまとめてみたいと思います。

EPEL

EPELとはExtra Packages for Enterprise Linuxの略で、Fedoraの有志が作成、メンテナンスしているRed Hat Enterprise LinuxやCentOSでも使えるパッケージレポジトリのことです。

Red Hat Enterprise Linux (RHEL) 向けの高品質なアドオンパッケージであり、CentOS や Scientific Linux (SL) のような RHEL からスピンオフしたディストリビューションと互換性のある、Fedora プロジェクトで有志によって作成されたパッケージになります。

御存知の通りFedoraは先進的・実験的なLinuxのディストリビューションとなっており、ここでテスト・検証されて品質を高めたものが商用であるRed Hat Enterprise Linux(RHEL)に取り込まれることになります。

CentOSは概ねRHELをオープンソース化したものですので、CentOSはEPELのパッケージを利用することができます。ただし、Red Hatが公式に管理しているわけではなく、品質が保証されているわけでもありませんので、利用には注意が必要です(特に会社で利用できるレポジトリ・パッケージが定められている場合)。

使用するには下記のコマンドを実行してepel-releaseをインストールします。

yum install epel-release

参考

Remi

Remiレポジトリは様々なバージョンのphpのパッケージを配布しているレポジトリで、Fedoraのプロジェクトコントリビューターであり、後述するCentOS SCLのSIGのメンバーでもあるRemi Colletさんによって運営されています。
公式サイトによると、Remiレポジトリの役割として以下のことが挙げられています。

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のバージョン

  • 7.2.3
  • 7.1.15
  • 7.0.28
  • 5.6.34
  • 5.5.38
  • 5.4.45

インストール方法

レポジトリの設定方法のページを読めば分かりますが、こちらの設定ウィザードを見たほうが分かりやすいと思います。利用しているOS(例えばCentOS6)、インストールしたいphpのバージョン、インストール方法(single version/multiple version simultaneously)を選択すると、インストールのための手順を表示してくれます。

例えばCentOS 7にphp-7.2.3をsingleでインストールしたい場合は、こんなふうにインストールするようです。

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install yum-utils
yum-config-manager --enable remi-php72
yum update
yum install php-xxx

上記の通り、Remiを使うためにはEPELもインストールする必要があるので注意が必要です。
また、公式レポジトリのパッケージを上書きしてしまう可能性もあるのでこちらも注意が必要です(remi-safeというレポジトリからインストールする場合は、上書きは発生しないようです)。

Software Collections(SCL)

Software Collections(SoftwareCollections.org)はRed Hat Enterprise Linux, Fedora, CentOSで最新のバージョンの言語やRDBMSなどのミドルウェアのパッケージを集めたプロジェクトです。RHEL(とCentOS)の公式レポジトリがだいぶ古くなっていて不便なので、SCLのコミュニティが管理・運営をして新しめのパッケージを配布してくれています。
https://www.softwarecollections.org/en/about/

そのうちCentOSの公式のSCLチームが提供しているパッケージは基本的にSCLのなかでもcentos-release-sclというレポジトリで配布されています。これはCentOSとしてはサードパーティではなくAdditional CentOS Provided Repositoriesとして配布されているので、公式レポジトリの一部として利用できそうです。
https://wiki.centos.org/AdditionalResources/Repositories

また、SoftwareCollections.orgのサイトからもSCLのパッケージを検索することができます。各パッケージごとのインストール方法などの説明もあるため、便利です。ただし、サードパーティのパッケージも含まれているので利用には注意が必要です。

余談ですが、SoftwareCollections.orgにはRedHatのSCLチーム(RHSCL)が提供しているパッケージもあり、CentOSのSCLチームが配布しているパッケージと同名ものがあります。詳細は各パッケージのインストール方法を見れば分かるのですが、CentOSでのインストール方法とRHELでのインストール方法が分かれています。

なお上述のRemiさんここにもいました。赤い帽子(Red Hat!)がステキ。

提供しているphpのバージョン

こちらを確認する限り、以下のバージョンが公開されているのを確認できます。

  • 5.4
  • 5.5
  • 5.6
  • 7.0
  • 7.1

今現在では7.2はまだ公開されていないですね。それ以外はRemiで提供されているものは全てこちらでカバーできています。きっとRemiさんはこっちでも頑張ってくれているんだと思います。

と思ったらやはりこちらにいらっしゃいました。唐突すぎる写真にびっくり。

インストール方法

yum --enablerepo=extras install centos-release-scl

php7.1をインストールする場合

sudo yum install centos-release-scl #上記と同様
sudo yum install rh-php71
scl enable rh-php71 bash

なお、最後の scl enable rh-php71 bashはsclからインストールしたパッケージを、CentOSのシステム内部のパスに登録するコマンドのようです。詳しくは次回解説したいと思います。

参考

https://wiki.centos.org/AdditionalResources/Repositories
https://wiki.centos.org/AdditionalResources/Repositories/SCL

まとめ

ということでEPEL, Remi, SoftwareCollections(SCL)の3つのレポジトリについてそれぞれの特徴を見てきました。
一部Remiさんの追っかけ記事みたいになっちゃいましたが、ご参考になれば幸いです。

SCLを使ってLAMP環境を作ってみました!

その他参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
57