![仅将软件包的一个特定版本列入升级黑名单](https://linux22.com/image/1141216/%E4%BB%85%E5%B0%86%E8%BD%AF%E4%BB%B6%E5%8C%85%E7%9A%84%E4%B8%80%E4%B8%AA%E7%89%B9%E5%AE%9A%E7%89%88%E6%9C%AC%E5%88%97%E5%85%A5%E5%8D%87%E7%BA%A7%E9%BB%91%E5%90%8D%E5%8D%95.png)
假设我们有一个软件包mypackage
,它有来自不同来源的不同版本。不是但想要禁用其中任何一个来源。
但是,当前的最新版本mypackage
在我的系统上是有缺陷的,但是以前的版本运行良好,并且将来的版本可能也会再次修复。
我怎样才能将此有缺陷的版本列入黑名单,mypackage
以便apt
不升级到该版本,但继续从所有来源接收升级,并在以下版本发布后升级到该版本?
保留该软件包(apt-mark hold mypackage
也会阻止将来的更新,直到我手动取消保留该软件包为止,这不是我想要的是。
答案1
您可以输入以下代码/etc/apt/preferences
来为该特定版本的包分配优先级 < 100:
Package: mypackage
Pin: version 1.2-3ubuntu4
Pin-Priority: 99
这将阻止升级到该版本,因为当前安装的版本的优先级为 100(并且会安装优先级最高的软件包)。
有关详细信息,请参阅man apt_preferences
或这个答案。