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