Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

先日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 プロジェクトで有志によって作成されたパッケージになります。

https://fedoraproject.org/wiki/EPEL/ja

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

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

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

yum install epel-release

参考

https://fedoraproject.org/wiki/EPEL

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

https://www.softwarecollections.org/en/scls/rhscl/rh-php71/

なお、最後の 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環境を作ってみました!

その他参考

lifull
日本最大級の不動産・住宅情報サイト「LIFULL HOME'S」を始め、人々の生活に寄り添う様々な情報サービス事業を展開しています。
https://lifull.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした