星期二, 九月 18, 2012

调整第三方软件源优先级减小对系统影响

使用redhat和debian的时候,经常需要安装一些第三方软件源的包。但是考虑到系统稳定性,有时候又不想安装这些源上其它软件的更新。这时,就需要通过源优先级调整来实现。

以下操作需要root权限,底纹文字为代码
1. CentOS
参考官方文档:http://wiki.centos.org/PackageManagement/Yum/Priorities
需要安装yum priority plugin
yum install yum-plugin-priorities
确认/etc/yum/pluginconf.d/priorities.conf文件中enable=1

Redhat的yum中数值越低,优先级越高,调整官方源到高优先级,编辑/etc/yum.repos.d/CentOS-Base.repo,根据官方文档,分别把base, addons, updates, extras, centosplus调整为1,即增加字段priority=1

给第三方源添加优先级99,即增加字段priority=99,这样在升级时,已经安装的包只从原有官方源升级,即使第三方源有更新的包。

2. Debian
官方文档:http://manpages.debian.net/cgi-bin/man.cgi?sektion=5&query=apt_preferences&apropos=0&manpath=sid&locale=en
Apt系统不需要安装新的软件包,其系统本来就内置优先级管理,直接设置即可,不过apt中数值越高的优先级越高。默认的官方源优先级好像是500,可以在官方文档确认一下。为了减小第三方包对系统的影响,直接设置新添加的包优先级即可。比如dotdeb是比较常用的第三方包,在source.list中添加源
deb http://packages.dotdeb.org stable all
添加文件/etc/apt/preferences.d/dotdeb-org指定给此源一个比较低的优先级200
cat > /etc/apt/preferences.d/dotdeb-org << EOF
Package: *
Pin: origin packages.dotdeb.org
Pin-Priority: 200
EOF

更详细的资料可以参照官方文档

没有评论: