仅安装顶级列出的软件包而不是依赖项建议的软件包

仅安装顶级列出的软件包而不是依赖项建议的软件包

如果我执行以下操作:

apt install SomePackage --install-suggests

它会尝试不仅安装指定的建议软件包SomePackage,还会尝试安装任何软件包所依赖的建议软件包SomePackage(如果所述依赖项尚未安装)。

有没有办法告诉 apt 仅安装那些我明确列出的软件包,而不安装那些依赖树中靠后的软件包?

答案1

依赖关系有三种:

  • 依靠。这些必须被纳入,并且有充分的理由。你可以使用 apt 标志来防止这些,我不会在这里讨论它,因为它很危险并且可能会破坏你试图安装的任何东西。

  • 建议。这些应该被拉进来以获得完整的功能集。在 Ubuntu 中,这是已启用默认情况下。您可以使用 apt 的标志将其关闭--no-install-recommends,或者将 apt 配置项APT::Install-Recommends从“1”更改为“0”。大多数用户永远不需要触碰此设置。您可以使用apt-config dump | grep Install-Recommends

  • 建议。在有限的情况下,可以引入这些来补充功能。在 Ubuntu 中,这是已禁用默认情况下。您可以使用 apt 的标志将其打开--install-suggests,或者将 apt 配置项APT::Install-Suggests从“0”更改为“1”。大多数用户永远不需要触碰此设置。您可以使用apt-config dump | grep Install-Suggests

Apt 将始终遵循依赖关系树并使用相同的设置。无法在树的中途更改设置。

如果您想要一些(但不是全部)建议的软件包,则必须列出您想要的软件包。这可能会使您的未来生活变得复杂:手动指定的软件包不符合自动删除的条件,因此您也需要手动清理。做好笔记。

答案2

此功能仍然破碎的(行为不符合用户希望的或手册描述的),除了 Arch 之外,我在每个发行版中都遇到了这个问题。

  • 在前端,我只能在 Manjaro 的 Pamac 中自动获得一级建议。毫不费力。此外,我可以非常轻松地浏览建议或依赖项。在 Discover、Muon、Yast 等中,我几乎无法以文本格式获得建议列表,也无法复制。它们都没有显示安装前已安装的文件。这真是令人难以置信。在 Synaptic 中,您可以右键单击以选择建议的软件包,但只能逐个选择。

  • 现在在 CLI 中,apt 确实建议 GB 的不需要的软件包。要修复:

apt install SomePackage $(apt-cache 依赖于 SomePackage|grep 建议:|grep -v "<"|cut -d' ' -f4)

相关内容