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