標準リポジトリで提供されていないパッケージを yum でインストールできるようにするために、yum のリポジトリを追加する。
リポジトリとしては、RPMforge、EPEL などが有名だ。
Table of Contents
Open Table of Contents
リポジトリを追加する際には注意も必要
リポジトリを追加していくと、使用可能なパッケージが増えて便利なのだが、反面、やみくもにインストール、アップデートをやっていると、パッケージの依存性の問題で既存のアプリが動くかなくなるなど、トラブルを引き起すこともある。
EPEL/FAQ - FedoraProject からの引用だが、
What about compatibility with other third party repositories?
…
EPEL is designed as add-on repository for RHEL and compatible derivatives. Avoiding mixing EPEL with other third party repositories with conflicting packages on the same system is the best way to avoid problems. Some people nevertheless do it and the yum priorities plugin can help to avoid the worst problems.
- 同じシステム上で、他のサードパーティリポジトリのパッケージと混ぜない方がよい、 問題を起こさないためにはそれがベスト。
- 仮に混ぜるのなら、yum priorities plugin などを使えば、最悪の自体は回避できるか もしれない。
と言っている。これは、EPEL だけの話ではなく、他のリポジトリを使った場合でも同様のことになる。
対策として、
- 通常 yum コマンドを使用する際には標準リポジトリだけを参照するようにしておく。
- 追加したリポジトリも常時参照するようにしておくが、同じパッケージがある場合には、 標準パッケージを優先させる。
などを実施しておくと安全だ。
ここでは、リポジトリとして、RPMforge を追加する。 追加したリポジトリを常時参照させるが、標準パッケージを優先させる、という導入方法の手順を記載しておく。
混乱を招かないための下準備、yum-priorites プラグインの導入
yum でインストールする。
# yum install yum-priorities
yum のリポジトリの設定は、
/etc/yum.repos.d
配下にある。
標準リポジトリの設定情報である、
/etc/yum.repos.d/CentOS-Base.repo
に priority の設定を追加しておく。
base、updates、addons、extras、centosplus セクションのそれぞれ最終行に priority を指定しておく。
どのように指定しておくかは、
が参考になる。 (非常に丁寧に書かれた RPMforge のインストールマニュアルだ)
base、updates、addons、extras には、
priority=1
を追記し、centosplus は、
priority=2
としておく。
上記のサイトの記載も丁寧なので参考になるだろう。
RPMforge リポジトリのインストール
Cent OS のバージョンによっても、微妙に違うので、
にて、自身の Cent OS のバージョンに合ったチュートリアルを実行する。
ここでは、
の「1.2. RPMforge」を実施する。
必要となる rpmforge-release package は、i386 なので、
をまずダウンロードしておく。どちらをダウンロードすべきかわからない場合には、
# uname -i
i386
で確認する。
からも取得できるのだが、 Installing RPMforge CentOS 5では、「1.2. RPMforge」に記載のある 2 つのうちの何れか を使うことを推奨している。
DAG’s GPG key のインストール。
# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
先程ダウンロードした rpmforge-release packages を検証しておく。
# rpm -K rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpmforge-release-0.3.6-1.el5.rf.i386.rpm: (sha1) dsa sha1 md5 gpg OK
パッケージをインストールする。
# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
RPMforge の設定情報である、
/etc/yum.repos.d/rpmforge.repo
が作成されている。
enabled = 1
が設定されているので、yum コマンドを普通に使用すれば、RPMforge も参照される。 もし、これまで通り標準リポジトリのみを参照するようにしておき、必要な時に RPMforge を参照したい場合には、
enabled = 0
としておく。
その場合、参照したい時には、
# yum --enablerepo=rpmforge list hoge
のように、--enablerepo=rpmfoge
オプションを追加する。
ここでは、enabled = 1
のままとする。
priority を設定し、標準リポジトリを優先させるようにしておく。 RPMforge には、とりあえず、
priority = 11
を設定しておく。
(標準リポジトリには、1
を設定している。)