对于 Debian,我想阻止软件包安装。例如,我希望 puppet 和超级用户无法安装ruby1.8
,即使ruby1.8
请求安装依赖项列表中的软件包:puppet 运行将失败,因此也会
# apt-get install ruby1.8
我想要的可以实现吗?如果可以,我该怎么做?
答案1
这应该可行。将此文本插入到您的/etc/apt/preferences
文件中:
Package: <packagename>
Pin: release *
Pin-Priority: -1
答案2
今天我第二次从 Kubuntu 22.04 中清除了 wslu,并寻找一种方法来阻止它再次被拉入,因为它会干扰正常的 KDE Plasma 功能。
搜索首先显示此页面。但更旧的页面给出了更好的答案:
使用 equivs-control 和 equivs-build创建一个与您想要列入黑名单的软件包相冲突的假软件包。然后以通常的方式安装您的假软件包。这非常简单、快速且令人满意。
简而言之,将 wslu 列入黑名单:
equivs-control no-wslu
这将创建一个通用包控制文件无 wslu来自模板。使用您最喜欢的文本编辑器只需更改此文件的几行:
Package: no-wslu
Version: 1.0
Conflicts: wslu
Description: Conflict with wslu to prevent its installation.
保存文件后:
equivs-build no-wslu
其次是:
sudo dpkg -i no-wslu_1.0_all.deb
完毕。
有关详细参考,请参阅Debian 管理员手册 - 构建你的第一个软件包。