Skip to content

CentOS7に外部リポジトリの追加

Posted in CentOS7

外部リポジトリを追加することで、標準リポジトリに登録されていないパッケージを導入することができます。
良く使うのはRepoforge(rpmforge),EPEL,ELRepo,Remiあたりでしょう。
※不慣れなうちはあっちにもこっちにも同じパッケージがあって混乱のもとにもなりかねないので、不要なリポジトリはインストールしないほうが良いかと思います。

が、リポジトリ登録の前にyum-plugin-prioritiesを導入しましょう。
リポジトリに優先順位をつけることができるパッケージで、CentOS標準のリポジトリからインストールされたパッケージが外部リポジトリにより勝手に更新されてしまったりすることを防ぐことができます。
逆に標準リポジトリより優先したいリポジトリがある場合はそういう設定も可能ですが、本項では前者の使い方を採用します。

続いて標準リポジトリの優先順位を高く設定します。

そして、外部リポジトリ達を登録しましょう。

これ以降はお好みですが、
/etc/yum.repos.d/remi.repo
/etc/yum.repos.d/epel.repo
/etc/yum.repos.d/rpmforge.repo
/etc/yum.repos.d/remi.repo
のenabledを0に設定しておくのも良いかもしれませんが、最初にyum-plugin-prioritiesを導入してCentOS-Baseを最優先にしているのでデフォルト設定のまま使用しても問題は起こりにくいと思います。
enabled=0にすれば確かに細かな設定ができるのですが面倒でもあるので、標準リポジトリになかったら他のリポジトリから探してね!くらいの緩さがちょうどいいと思っています・・・。

ちなみにremiはデフォルトでenabled=0なので、remi内のパッケージを利用したい場合は明示的に記さないと使用されません。

remiを使いたい場合は下記のようにenablerepoオプションをつけることで対応できます。


一歩進んだ使い方として、php関連のパッケージだけはremiを使いたい場合の設定方法は下記のとおりです。
(php55やphp56を使いたい場合は読み替えてください)

優先度の高いCentOS-Baseのリポジトリからはphp関連のパッケージをインストール・アップデートしない設定に書き換え、remiリポジトリを無効->有効に変更することで、yum updateした際にphp関連だけremiに振られるようになります。
今回のように複数の外部リポジトリを導入している場合は、priority設定することで、別のリポジトリで勝手に上書きされることがないようにするのも忘れずに。

Comments are closed.