トップページに戻る


CentOS LogoCentOS 外部レポジトリの追加(dag)
最終更新日:2012.3.10

注意:
外部レポジトリを導入すると上位ベンダーや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
:

DAGの初期設定

レポジトリを作成して保存する。

# 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を使ったパッケージの導入

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で実行する予定を入力する

# crontab -e
00 6 * * * sh /root/update.sh > /root/result.txt
※毎日6:00に/root/update.shに書いた内容が実行され、結果は/root/result.txtに書かれる。