![如何阻止由于依赖关系而安装 deb 文件?](https://linux22.com/image/1226688/%E5%A6%82%E4%BD%95%E9%98%BB%E6%AD%A2%E7%94%B1%E4%BA%8E%E4%BE%9D%E8%B5%96%E5%85%B3%E7%B3%BB%E8%80%8C%E5%AE%89%E8%A3%85%20deb%20%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我正在运行最新版本的 Ubuntu 09.10(syphyllitic sphinx 或任何代号),并且试图弄清楚如何阻止由于依赖关系而安装软件包。对于此示例,假设我想让它永远不会安装bc
,即使ubuntu-desktop
声称需要它。有没有一种简单的方法可以让它在我进行更新并且有新版本时ubuntu-desktop
永远不会再次尝试安装bc
?
我认为这可以通过使用一些自定义的虚拟包或dpkg-divert
一些类似的魔法来实现,但我就是找不到关于如何做到这一点的好文档。
我也知道做这样的事情可能会导致时空结构的破裂,但我愿意处理这个问题。
答案1
查看“equivs”包。您可以伪造一个包,假装提供您正在安装的实际包所需的一切。
答案2
这来自 Ubuntu wiki 的页面应该可以解决您的问题。它解释了如何在没有卸载应用程序的情况下创建新的元包。
话虽如此,我还是没有使用 ubuntu-desktop 元包。
答案3
ttf-mscorefonts-installer
我不知道它是否适用于强制性要求,但它在安装/升级 wine 时很好地阻止了推荐的软件包。
我认为这个软件包的存在只是为了让互联网看起来很糟糕,以防止年轻的 Linux 黑客对 MS 构成威胁。
将以下内容放入您的/etc/apt/preferences
:
Package: i-am-a-package-containing-junk
Pin: version *
Pin-Priority: -1
表示Pin-Priority: -1
匹配的软件包的匹配版本永远不应被安装,而其余的则匹配软件包的每个版本i-am-a-package-containing-junk
,从而有效地阻止其安装。
答案4
在这种特定情况下...不要使用元包 - 可能有一个“核心”包,您可以在其上安装所需的内容 - 我遇到了与 xorg 相同的问题,因为我不知道在基于英特尔显卡的笔记本电脑上安装 nvidia 驱动程序的意义 - 所以我安装了 xorg-intel,而不是 xorg-core。