ubuntu阻止软件包升级(指定的软件包不升级)

虽然说软件的更新,尤其是安全更新是很重要的,但是通常有些软件较大版本的升级总会伴随着软件功能的较大改变和很多兼容性问题,比如PHP等,也有一些在PPA源上较大的软件包下载会很慢,所以在日常的更新中阻止这些软件包的升级就很有必要了。


  • 软件包状态

软件包有各种状态:“unknown”,“install”,“remove”,“purge”和“hold”。这些“希望”标记描述了用户打算如何操作这些软件包(既可以使用dselect的“Select”菜单,也可以直接调用dpkg)。

它们的意思是:

unknown – 用户并没描述他想对软件包进行什么操作。
install – 用户希望对软件包进行安装或升级。
remove – 用户希望删除软件包,但不想删除任何配置文件。
purge – 用户希望完全删除软件包,包括配置文件。
hold – 用户希望软件包保持现状,例如,用户希望保持当前的版本,当前的状态,当前的一切。


  • 阻止软件包升级

有两种方法阻止软件包升级,使用dpkg,或者使用dselect。

使用dpkg,首先导出软件包选择列表:

 

dpkg --get-selections /* > selections.txt

 

接着编辑文件selections.txt,修改想要恢复的软件所在的行,例如libc6,则将:

libc6 install
改为:

libc6 hold
保存文件,将它装入dpkg数据库:


或者,如果知道要恢复的软件包名称,就可以不搜索软件包名称了,执行:

sudo dpkg --set-selections < selections.txt

 


这个命令将在每个软件包安装过程中保持该软件包不变。

sudo echo libc6 hold | dpkg --set-selections

 


这个命令即可恢复软件包libc6的升级。

sudo echo libc6 install | sudo dpkg --set-selections

 

使用dselect也可以达到同样的效果。进入[S]elect屏幕,找到想阻止其升级的软件包,按“=”键(或者“H”)。更改在你退出[S]elect屏幕后立即生效。

以上这都是WIKI上的内容,基本上直接贴了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值