debian中如何为软件包降级


引言:准备安装g++却被告知有冲突,一看原来是因为先使用了unstable,后来又转回testing的缘故,libc6的版本太新了,提示说要么别安装g++要么就降级libc6。
以前知道debian的包管理支持将软件包降级,但是一直没弄明白怎么搞。这次找了一下,发现以前的文档没了,取而代之的是debianwiki——debian6发布后的网站大改版。
debian的apt支持多个不同版本的软件源共存在一台机器上面,还起了个名字叫apt-pinning。举个例子说就是,你可以在testing上用unstable的软件,或者是在unstable上用stabe的软件,而不必将整个系统升级(或重装)。不过一旦使用了apt-pinning,你得需要自己负责管理软件之间的兼容性,换言之,这种用法打破了apt的管理规则。
可见,将一个软件包降级只是apt-pinning的一个特例。
背景知识介绍完毕。来具体的说一下如何操作。
要将libc6降级,我们需要用到两个文件:

/etc/apt/sources.list

/etc/apt/preferences

sources.list的内容不必多说了。
主要就是这个preferences。这个文件默认是没有的,需要自己创建一个。
这里只是想对libc6进行降级,只需要在preferences里添加如下内容:
 Package: *
Pin: release a=testing
Pin-Priority: 1001
apt会根据Pin-Priority的值来决定是从unstable还是testing还是stable中获得软件包。当Pin-Priority大于1000的时候,apt将允许软件包降级。
如此保存退出
apt-get update
apt-get upgrade
就会提示将有多少个包被降级。看好了,如果显示要降级的软件包没问题的话,按Y就会开始下载降级了。
关于preferences的更详细的说法和更多的例子,请看参考资料[1]


参考资料:
1. http://wiki.debian.org/AptPreferences

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值