我可以通过 Debian“控制”文件中的设置来获得“--no-install-recommends”行为吗?

我可以通过 Debian“控制”文件中的设置来获得“--no-install-recommends”行为吗?

我正在寻找一种方法来在我的 Debian 包中构建方向(例如,在control文件中或其他地方),它将告诉apt-get install我表现得好像我已经包含了--no-install-recommends标志一样。

背景故事

我管理一个包 - 称之为foo- 它明确依赖于其他三个包(顺便说一下,它们是libcuda1-340nvidia-340nvidia-opencl-icd-340,如果知道这有帮助的话)。当我尝试foo使用...安装时

apt-get install foo

...它最终会尝试安装一大堆我并不需要的软件包,而这实际上会损坏我的机器。我发现如果我这样做...

apt-get install --no-install-recommends foo

...它只安装了foo三个显式依赖项,没有其他任何东西,这让我得到了我想要的最终结果。

完美的!

但问题是:我不能使用该--no-install-recommends标志。

那是因为...

  1. apt-get install是由一个我无法控制的工具帮我完成的,
  2. 该工具还foo为我安装了许多其他软件包,并且
  3. 我只想要--no-install-depends与包相关的行为foo。在所有其他情况下,我也想引入依赖项。

问题:那么,我是否可以将一些指令放入包foodebian/control文件中或其他地方,以便仅针对包实现这种行为foo

提前感谢您的指导。

史蒂夫

答案1

为了在我们的 Trusty LTS 服务器上完成同样的事情,我将这些放入 /etc/apt/apt.conf 中

APT::Install-Recommends "0";

同样,对于“建议”的软件包

APT::Install-Suggests "0";

答案2

使用“冲突”和/或“中断”控制字段列表来防止安装会导致中断的软件包。

包可以在其控制文件中声明它们与其他包具有某些关系 - 例如,它们可能不会与某些其他包同时安装,和/或它们依赖于其他包的存在。

这是使用依赖、预依赖、推荐、建议、增强、中断和冲突控制字段完成的。

这意味着您需要缩小软件包列表,只保留那些真正导致损坏的软件包。

作为打包者,您无法决定最终用户系统上的适当设置。

相关内容