yum-prioritiesのインストール

概要

パッケージをアップデートしたとき、追加リポジトリに公式パッケージよりも新しいバージョンがあると、意図しない不安定なバージョンをインストールしてしまうことがあります。そのため、意図的に追加リポジトリからインストールするとき以外は、追加リポジトリを無効化しておいたほうが安全です。しかし、完全に無効化してしまうと追加リポジトリからインストールしたパッケージが自動アップデートされなくなります。これを解決するために、リポジトリに優先順位を設定できるyum-prioritiesをインストールします。



構成

CentOS release 5.6 (Final)



インストール

yum-prioritiesのインストール
# yum install yum-priorities
...
==================================================================================================
 Package                  Arch             Version                           Repository      Size
==================================================================================================
Installing:
 yum-priorities           noarch           1.1.16-14.el5.centos.1            base            14 k

Transaction Summary
==================================================================================================


標準リポジトリの優先度の設定
FILE: /etc/yum.repos.d/CentOS-Base.repo

--- /etc/yum.repos.d/CentOS-Base.repo	2011-07-15 13:51:28.000000000 +0900
+++ /etc/yum.repos.d/CentOS-Base.repo	2011-07-15 13:53:11.000000000 +0900
@@ -16,6 +16,7 @@ mirrorlist=http://mirrorlist.centos.org/
 #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
+priority=1
 
 #released updates 
 [updates]
@@ -24,6 +25,7 @@ mirrorlist=http://mirrorlist.centos.org/
 #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
+priority=1
 
 #additional packages that may be useful
 [extras]
@@ -32,6 +34,7 @@ mirrorlist=http://mirrorlist.centos.org/
 #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
+priority=1
 
 #additional packages that extend functionality of existing packages
 [centosplus]
@@ -41,6 +44,7 @@ mirrorlist=http://mirrorlist.centos.org/
 gpgcheck=1
 enabled=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
+priority=1
 
 #contrib - packages by Centos Users
 [contrib]
@@ -50,3 +54,4 @@ mirrorlist=http://mirrorlist.centos.org/
 gpgcheck=1
 enabled=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
+priority=2


追加リポジトリのインストール

EPELリポジトリパッケージの一覧

# rpm -ihv http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

Remiリポジトリパッケージの一覧

# rpm -ihv http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

Remiリポジトリはデフォルトで無効になっているので、有効にします。

--- /etc/yum.repos.d/remi.repo	2011-07-15 14:48:15.000000000 +0900
+++ /etc/yum.repos.d/remi.repo	2010-07-30 21:39:04.000000000 +0900
@@ -2,7 +2,7 @@
 name=Les RPM de remi pour Enterprise Linux $releasever - $basearch
 #baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/
 mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror
-enabled=0
+enabled=1
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
 failovermethod=priority

RPMforgeリポジトリパッケージの一覧

rpm -ihv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

アップデートするときに公式パッケージを上書きしないように設定したため、infoやlistでパッケージの情報を調べる時も標準リポジトリが優先されてしまいます。追加リポジトリも含めて最新版を参照したいときは、オプションでyum-prioritiesを無効にします。

# yum --disableplugin=priorities info mysql



キャッシュのクリア

インストールやアップデートの後はキャッシュにファイルが残っているので、

# du -h /var/cache/yum
...
111M	/var/cache/yum

キャッシュをクリアしておきます。

# yum clean all