如何强制 apt 优化依赖树以获得最小的下载大小?

nan*_*rad 10 apt

一些背景信息

您可能知道,在 Debian 软件包中,可能存在替代依赖项,Depends: apache2|something-else例如,在 CONTROL 文件中编写为 。如何apt选择要选择的依赖项,以及如何覆盖它以便最小化下载大小?

我在某些位置的连接速度很慢,需要它使用最小的总下载大小。我怎样才能强迫它这样做?

编辑:我不是在问跳过推荐。

编辑 2:我不是在问跳过依赖项。我试图获得所有依赖项,只是在最小的总大小中,特别是注意和深入遍历的package1|package2选择。

编辑 3:Agrep或其他 shell 脚本是可以接受的。

不幸的是,由于当前的答案并未真正回答问题,因此他们无法真正获得赏金。对于愿意编写 bash 脚本的人来说,它仍然存在!

编辑 4:虽然赏金已授予我鼓励您投票的好答案,但我仍在寻求更具体的答案。如果它还优雅地处理由一个或多个包提供的虚拟包,那么我可能会提供另一个事后赏金来奖励该答案

Jam*_*ude 1

据我所知,没有办法优化它。大多数内容已经被大大压缩,因此您不会下载几乎整个文件大小。(下次安装软件包时,请查看要下载的数据量和要消耗的总硬盘空间之间的差异。)

如果您知道自己在做什么(例如,您已经安装了foo,但它说您需要重新安装)并且希望在安装文件时关闭所有依赖项,请添加标志--no-install-recommends这个问题
的一些答案解释了如何在没有依赖项的情况下安装特定的包。他们的讨论比我更深入,所以如果您仍然遇到问题或者我的回答没有解决您的问题,我建议您看一下该主题。


kno*_*ope -2

我认为您对依赖关系的工作方式感到困惑。如果某件事是依赖的——那么根据定义它是需要的。我想你可以做的就是准确找出你想要的应用程序正在使用的依赖项中的哪些文件...并删除它不调用的所有内容..但这似乎需要大量工作才能完成几兆字节..

您似乎要求一辆在缺少第四轮的情况下仍能行驶的汽车(为了这个比喻,我们说“左后轮”),以减轻重量。在某些时候您需要右转。汽车仍然会滚动,但只具有某些功能......通过不安装“推荐”,我认为您将尽可能安全地行驶,而无需深入研究开发。

  • 你确实没有理解这个问题。他知道依赖性。但你应该知道,可以有两个包满足相同的依赖关系。在这种情况下,他想要较小尺寸的 (6认同)