注意:
外部レポジトリを導入すると上位ベンダーやCentOSとの互換性が失われる他、標準パッケージの構成では起こりえない問題が発生することがあります。個人の責に基づき導入するようにしてください。
DAGパッケージを導入して、標準パッケージに含まれないパッケージを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 :
レポジトリを作成して保存する。
# vi /etc/yum.repos.d/dag.repo [dag] name=Dag baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag/ enabled=0 gpgcheck=1 gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
※DAGレポジトリは非常に大規模なレポジトリのため、通常はenabled=0としておくことをオススメします。
DAGレポジトリを使ってパッケージをインストール(FileZillaのインストール例)
# yum --enablerepo=dag install filezilla
cronを利用して外部レポジトリを使ってインストールしたパッケージを定期アップデートする。
# vim /root/update.sh
date;
yum --enablerepo=dag -y update filezilla;
# chmod +x /root/update.sh
# crontab -e※毎日6:00に/root/update.shに書いた内容が実行され、結果は/root/result.txtに書かれる。
00 6 * * * sh /root/update.sh > /root/result.txt