注意:
外部レポジトリを導入すると上位ベンダーやCentOSとの互換性が失われる他、標準パッケージの構成では起こりえない問題が発生することがあります。個人の責に基づき導入するようにしてください。
比較的新しいphpパッケージをCentOS 5.5までのバージョンで使うには外部レポジトリを使うしかない。ここではRemiパッケージを導入して、標準レポジトリではインストールできないphpパッケージやMySQLなどをyumでインストールできるようにする。
なお、同時にパッケージの優先度を設定して、標準パッケージが外部レポジトリからダウンロードしたパッケージで上書きされないように設定する。
ポイント:
priorityは数字が小さいほど優先度が高くなり、priority=*とつけない場合、priority=99が内部的に設定される。
優先度を設定するyum-prioritiesを導入する。
[root@centos ~]# yum -y install yum-priorities
標準レポジトリを開いて、base/updatesに"priority=1"、それ以外には"prinrity=2"を追加する。
[root@centos ~]# vim /etc/yum.repos.d/CentOS-Base.repo [base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 priority=1 : [updates] priority=1 : [addons] priority=2 : [extra] priority=2 : [centosplus] enabled=1 priority=2 : [contrib] enabled=1 priority=2 :
■remiをwgetしてインストール(64ビット版CentOSの場合)
# wget http://rpms.famillecollet.com/el5.x86_64/remi-release-5-8.el5.remi.noarch.rpm
■remiをwgetしてインストール(32ビット版CentOSの場合)
# rpm -ivh remi-release-5-8.el5.remi.noarch.rpm
# wget http://rpms.famillecollet.com/el5.i386/remi-release-5-8.el5.remi.noarch.rpm
※すでに前のバージョンが入っている場合はrpm -Uvh hogehogeで。
# rpm -ivh remi-release-5-8.el5.remi.noarch.rpm
レポジトリを編集する(priority=1の追記/enable=0への変更)。
# vim /etc/yum.repos.d/remi.repo
[remi]
name=Les RPM de remi pour Enterprise Linux 5 - $basearch
baseurl=http://rpms.famillecollet.com/el5.$basearch/
http://iut-info.univ-reims.fr/remirpms/el5.$basearch/
enabled=0
priority=1
:
:
remiレポジトリを使ってパッケージをインストール(PHPのインストール例)
# yum --enablerepo=remi install php php-cli php-common php-mbstring
cronを利用して外部レポジトリを使ってインストールしたパッケージを定期アップデートする。
# vim /root/update.sh
date;
yum --enablerepo=remi -y update php php-cli php-common php-mbstring;
# chmod +x /root/update.sh
# crontab -e
00 6 * * * sh /root/update.sh > /root/result.txt
※毎日6:00に/root/update.shに書いた内容が実行され、結果は/root/result.txtに書かれる。