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