为什么 apt 在安装软件包时升级建议的软件包(无命令行选项)?

为什么 apt 在安装软件包时升级建议的软件包(无命令行选项)?

我试图了解能力倾向是如何运作的。我已经下载了包的所有依赖项(据我所知,通过替换空的 dpkg 状态文件)。后来,在安装软件包时替换回系统的当前状态文件后,我看到apt install尝试下载下载所有依赖项时列出的软件包suggested。建议稍后在apt/apt-get不带选项运行时升级的软件包列表中。

怎么会发生这样的事呢?我之前对一些软件包进行了上述测试,并且不需要建议,所以看起来这种情况很少发生。我想了解此案的详细情况,该如何调查? (我已经运行dpkg -s并“建议”一个显示为installed,还有什么?)。顺便说一句,软件包名称是 kdenlive,“最初”建议的软件包名称之一是 poppler-utils。

我不想完全禁用升级,我只是不想升级建议的升级。

~$ aptitude why kdenlive poppler-utils
p   kdenlive               Depends    libkf5filemetadata3 (>= 5.0.2+git20140925)
p   libkf5filemetadata3    Recommends libkf5filemetadata-bin (= 5.92.0-0ubuntu1)
p   libkf5filemetadata-bin Depends    libpoppler-qt5-1 (>= 0.46.0)              
p   libpoppler-qt5-1       Depends    libpoppler118 (= 22.02.0-2ubuntu0.2)      
p   libpoppler118          Recommends poppler-data                              
i   poppler-data           Suggests   poppler-utils 

答案1

通常会发生这种情况,因为建议的软件包已安装(似乎是此处的情况)并且其中之一其他升级包意味着它也需要升级。

对于,如果升级了poppler-utils相应的包,就会发生这种情况:对同一版本的.因此,如果(在 Debian 11 中,在 Debian 12 中)升级,则必须同时升级。libpopplerpoppler-utilslibpopplerlibpopplerlibpoppler102libpoppler126poppler-utils

要对此进行调查,请查看aptitude why kdenlive poppler-utilsapt show poppler-utils。它可能有助于运行apt upgrade-oDebug::pkgProblemResolver=yes这可能解释了为什么poppler-utils添加到升级集中)。

请记住,弱依赖关系(“推荐”和“建议”)仅决定安装和删除软件包时会发生什么。一旦安装了软件包,就必须像所有其他已安装的软件包一样对其进行管理;以后不一定可以升级“建议”的软件包——事实上,它们只是建议的已经不再重要了。

相关内容