protectbase
|
你应该在 protectbase 或 priorities 插件中 选其一,但它们不应同时被使用。由於 priorities 与 protectbase 可以做同样的事情,但拥有多於两於组别,我们只推荐 protectbase 给最基本的设置。 |
protectbase 的用处就是保护某些软件库被其它软件库的更新所取替。受保护的软件库不会被未受保护的软件库内较新的文件更新。我们推荐这个插件给任何经常启用第三方软件库的人们,因为这些非 CentOS 的软件库可能会更新某些系统文件,有机会导致你的 CentOS 安装不稳定。
首先,你必须在 /etc/yum.conf 文件内启用插件,详情见「Yum 插件」。由 CentOS 5 起插件已经缺省被启用。
要安装 protectbase 插件,请确定 CentOS 的 extras 软件库已经被启用(它缺省是被启用的),然后执行这个指令:
yum install yum-plugin-protectbase
在 CentOS 5 上这个组件的名称被更改了,你可以用这个指令:
yum install yum-protectbase
完成插件的安装后,请确定它已被启用。请编辑 /etc/yum/pluginconf.d/protectbase.conf 并确保它拥有下列内容:
[main] enabled = 1
之后,你须要编辑 /etc/yum.repos.d/ 内所有 .repo 文件,并选择为每个软件库加入:
protect=1
或
protect=0
下面是一个在 CentOS-Base.repo 文件内只保护 [base] 及 [update] 软件库的样例:
[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=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4 protect=1 #released updates [update] 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=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4 protect=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=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4 protect=0 #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=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4 protect=0 #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=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4 protect=0 #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=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4 protect=0
注: 你必须为 /etc/yum.conf 中的 .repo 档里每个不想受保护的软件库加上 protect=0,否则它们属於 protect=1 的组别。
当你在完成编辑后进行更新,只有那些拥有 protect=1 的软件库才能更新来获 protect=1 保护的软件库的软件。就我们的样例而言,yum 只会用 [base] 或 [update] 软件库内的 RPM 来更新属于 [base] 或 [update] 的组件。假如 [addons] 软件库为来自 [base] 的组件提供了更新,升级亦不会进行。
Translation of revision 38