注意:
外部レポジトリを導入すると上位ベンダーやCentOSとの互換性が失われる他、標準パッケージの構成では起こりえない問題が発生することがあります。個人の責に基づき導入するようにしてください。
比較的新しいphpパッケージをCentOS 5.5までのバージョンで使うには外部レポジトリを使うしかない。ここではRemiパッケージを導入して、標準レポジトリではインストールできないphpパッケージやMySQLなどをyumでインストールできるようにする。
なお、同時にパッケージの優先度を設定して、標準パッケージが外部レポジトリからダウンロードしたパッケージで上書きされないように設定する。
ポイント:
priorityは数字が小さいほど優先度が高くなり、priority=*とつけない場合、priority=99が内部的に設定される。
優先度を設定するyum-prioritiesを導入する。
# yum -y install yum-priorities標準レポジトリを開いて、base/updatesに"priority=1"、それ以外には"prinrity=2"を追加する。
# 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 5の場合)
# wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm # rpm -ivh remi-release-5-9.el5.remi.noarch.rpm■remiをwgetしてインストール(32ビット版CentOS 6の場合)
# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm # rpm -ivh remi-release-5-9.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に書かれる。