yum SCL / EPEL / Remi

FUKUDA Hiroshi

(2009.4.2-2022.2.13)

SCL(Red Hat Software Collections), EPEL, remiリポジトリを導入して,最新バージョンのruby,サードパーティー・パッケージ,最新のphpなどをyumでインストールできるようにする。

(環境) CentOS 6.x, 7.x (CentOS 5についてはこちら)

(以下プロンプトが#ならroot,$なら普通のユーザー)

サポート終了後

CentOS 6は2020年11月30日でサポートが終了し,それ以後は,yumコマンドを使うとエラーになります。エラーを回避するには,/etc/yum.repos.d/CentOS-Base.repoファイルの,

  • mirrorlist=行を#でコメントアウトして,

  • baseurl=行のmirror.centos.orgをvault.centos.orgに書き換える。

vault.centos.orgは,古いバージョンのCentOS のレポジトリが保存されている場所です。

すると,モジュールの更新はありませんが,モジュールの追加や削除などyumコマンドが使えるようになります。他のレポジトリを使っている場合も,同様です。

インストール

# yum install centos-sclo-rh

# yum install epel-release

# yum install yum-plugin-priorities

remi (phpの最新版を提供する)を導入するには:

(CentOS6)

# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

(CentOS7)

# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

リポジトリ優先順の編集

標準リポジトリとEPEL, Remiリポジトリの両方で提供されるパッケージについて,標準リポジトリを優先する。 /etc/yum.repos.d/ にある各レポジトリファイルの各エントリにpriority=Nを追加する。Nは1から99で,小さいほど優先度が高い。

標準リポジトリの優先順位を1にする

# vi /etc/yum.repos.d/CentOS-Base.repo

[base] # 最下行に以下を追加

priority=1


#released updates

[updates]

# 最下行に以下を追加

priority=1


#packages used/produced in the build but not released

[addons]

# 最下行に以下を追加

priority=1


#additional packages that may be useful

[extras]

# 最下行に以下を追加

priority=1


#additional packages that extend functionality of existing packages

[centosplus]

# 最下行に以下を追加

priority=1

remiで使用するエントリーを指定する

remiで使用するエントリー(下の例ではphp56)のenabledを1にする(はじめ全てのエントリーのenabledは0)。php71等を使いたい時は同じディレクトリにあるremi.repo-php71.repoなどのenabledを1にする。

# vi /etc/yum.repos.d/remi.repo

[remi-php56]

enabled=1