Debian lenny 中的软件包固定

Debian lenny 中的软件包固定

我需要你的建议,因为我不知道我是否遇到了错误,或者我误解了什么。

在 Debian Lenny 上,我试图阻止安装两个特定的软件包,当它们被请求作为其他包的依赖项时。我使用了与 Squeeze 中成功使用的语法相同的语法,但没有任何成功

挤压时,以下操作按预期进行:

# cat /etc/apt/preferences.d/local-no-pike.pref
Package: pike7.6-core
Pin: version *
Pin-Priority: -1000

如果我尝试安装,这pike7.6取决于pike7.6-core易于资质拒绝这样做。

在 Lenny 上,唯一的区别是不支持 中的“片段” /etc/apt/preferences.d,并且所有首选项都必须在/etc/apt/preferences文件中。但它不起作用。例如,如果文件包含:

Package: grub-common
Pin: version *
Pin-Priority: -1000

易于不会阻止我安装grub,这取决于grub-common

我用了strace查看文件是否正在被读取,结果是正在读取。有人建议我使用一些Debug::选择,但它们也无助于查明问题所在。我有谷歌搜索了很多有一些组合莱尼“ “防止“ “包裹“ “安装“ “钉住“之类的,但没有什么好结果。当然我读man apt_preferences

我在这里遗漏了什么?

答案1

作为一种解决方法,您可以通过在 dpkg 中将其设置为“hold”来阻止软件包升级:

echo "grub-common hold"|dpkg --set-selections

然后你可以用以下方法恢复

echo "grub-common install"|dpkg --set-selections

这里提到的另一个选择:http://lists.debian.org/debian-user/2009/07/msg00477.html

Package: somepackage
Pin: release a=fakerepo
Pin-Priority: 1001

由于“fakerepo”不是有效版本,“somepackage”永远无法安装。

检查“apt-cache policy grub-common”输出也可能有帮助

相关内容