yumリポジトリとしては、CentOSの標準リポジトリの他に多数のリポジトリが存在します。パッケージアップデートの提供が非常に早かったり、提供するパッケージ数が多かったりと、その特徴は様々ですが、一般に複数のリポジトリを使用することが多いのではないでしょうか。
そこで検討しておきたいことが、CentOSの標準リポジトリと他のレポジトリの複数で提供されるパッケージに関しては、標準リポジトリのパッケージが優先されるように(上書きされないように)しておくことです。
そのために、yum-prioritiesパッケージをインストールします。
1.yum-prioritiesパッケージのインストール
[root ~]# yum install yum-priorities Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: ftp.iij.ad.jp * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * rpmforge: apt.sw.be * updates: ftp.iij.ad.jp Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package yum-priorities.noarch 0:1.1.16-14.el5.centos.1 set to be updated --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: yum-priorities noarch 1.1.16-14.el5.centos.1 base 14 k Transaction Summary ================================================================================ Install 1 Package(s) Upgrade 0 Package(s) Total download size: 14 k Is this ok [y/N]: y Downloading Packages: yum-priorities-1.1.16-14.el5.centos.1.noarch.rpm | 14 kB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : yum-priorities [###################################### ] 1/1 Installed: yum-priorities.noarch 0:1.1.16-14.el5.centos.1 Complete!
2.CentOS-Base.repoの編集
インストールが成功したら、次のように/etc/yum.repos.d/CentOS-Base.repoを開き、「priority=1」という1行を追加します。
[root ~]# vim /etc/yum.repos.d/CentOS-Base.repo # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 priority=1 ←追加する #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 priority=1 ←追加する #packages used/produced in the build but not released [addons] name=CentOS-$releasever - Addons mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons #baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 priority=1 ←追加する #additional packages that may be useful [extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras #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] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 priority=1 ←追加する #contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 priority=1 ←追加する
ちなみに、当サイトのサーバ環境では重要視していません。なぜならば、パッケージのアップデートはremiリポジトリが早いケースが多く、それを適用することを良しとしているからです。