7月 042012
 
シェアする

prioritiesプラグインは、yumが利用するレポジトリにプライオリティ(優先順位)を設定することでレポジトリを保護することができます。高いプライオリティが設定されたレポジトリからインストールされたパッケージは、低いプライオリティが設定されたレポジトリを用いて更新されることはありません。また、新規パッケージをインストールする際に複数のレポジトリにて該当するパッケージがある場合、高いプライオリティの設定されたレポジトリからのインストールが優先されます。このプラグインは、特にCentOSのレポジトリに加えて外部の他レポジトリを利用している場合に、外部レポジトリの利用によりシステムファイルが書き換えられサーバの運用に影響を与えることを防ぐことができます。

yumのprioritiesプラグインのインストール方法

CentOS-4 or CentOS-6

# yum -y install yum-plugin-priorities

CentOS-5

# yum -y install yum-priorities

インストールが完了したら、/etc/yum.repos.d/配下にあるCentOS-Base.repo修正します。

CentOS-Base.repoの修正

1. /etc/yum.repos.d/CentOS-Base.repoのバックアップを作成します。

# cp -p /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.`date +%Y%m%d`
# ls /etc/yum.repos.d/CentOS-Base.repo*

2. 以下赤字部分を追加し保存します。

# 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
# unless you are manually picking other mirrors.
#
# 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
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
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-6
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-6
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-6
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-6
priority=2

以上で設定が完了しました。

yumで利用可能なレポジトリは”yum reposlist all”コマンドで確認できますが、これでは設定されているプライオリティが分かりません。利用可能なレポジトリとそのプライオリティを確認するには、以下のコマンドを実行してください。

# sed -n -e "/^\[/h; /priority *=/{ G; s/\n/ /; s/ity=/ity = /; p }" /etc/yum.repos.d/*.repo | sort -k3n
priority = 1 [base]
priority = 1 [centosplus]
priority = 1 [extras]
priority = 1 [updates]
priority = 2 [contrib]

プライオリティを設定していないレポジトリは、すべてデフォルトで「99」のプライオリティとなります。

参考:
[wiki.centos.org] yum-plugin-priorities
http://wiki.centos.org/PackageManagement/Yum/Priorities

以上

このエントリーをはてなブックマークに追加
 Tagged with:

コメント大歓迎!質問も受け付けておりますヽ(*´∀`)ノ