并行获取存储库数据

并行获取存储库数据

如果我给出“zypper up”或“apt-get update”,则存储库数据将以线性顺序获取。

大问题:为什么?为什么我们不能通过并行下载所有存储库数据来加快更新过程?

我不是在谈论软件包更新,只是回购信息。

答案1

在我看来,这是因为没有必要。

目前,典型的更新过程(apt、yum 等)通常不受带宽限制。更新过程中用于下载存储库文件或包的时间部分要么不重要(秒),要么通过添加并行化可能不会显着改善[因为如果带宽是一个问题,并行化可能会使情况变得更糟]。

还有其他限制。例如,Apt 甚至不支持 2 个同时操作,而 yum 或 emerge 则支持。这些限制的存在可能是为了限制复杂性,或者仅仅是因为它们对于日常用户和系统管理员来说并不是真正的问题。

复杂性和性能需要付出努力,这意味着在付出努力之前需要在一定程度上证明其合理性。

然而,如果你真的想追求这一点,通常是可能的:

答案2

有可能的。例如,在 Fedora 的 dnf 中,dnf 允许一次下载多个软件包,而 yum 则不允许。即使 apt 本身也可能无法实现这一点,并且没有官方的 apt 扩展来提供并行下载。但 apt-fast 可能正是您正在寻找的。不过您必须进行一些配置。这可能会有所帮助。
https://www.cyberciti.biz/faq/how-to-speed-up-apt-get-apt-command-ubuntu-linux/

答案3

这是可能的,并且已经提出了许多有用的改进,甚至已经编码,但存在障碍:

  1. 各种提议常常是相互排斥的。

    大多数流行的打包系统都不够模块化和可扩展,因此各种以发行版为中心的创新协议和方法不能很好地协同工作,从而阻碍了各自用户群和思想共享的增长。例如,目前没有简单的方法来结合单独有用的优点 apt 运输方法和类似的东西;也就是说,人们可以单独有选择地本地 apt 缓存服务器,易于超过托尔,洋葱存储库,咏叹调下载, 德布三角洲,吉格多,激流,ETC。但它们不容易堆叠或通过管道连接在一起。

    这些方法中技术上最有前途的是那些提出 激流或一些类似激流的协议,当协议制定得当时,可用性增加与需求。

  2. 打包系统和服务器维护人员往往保守而谨慎,并且比大多数用户能够使用更快的硬件和网络 - 这使得速度投诉看起来像是用户硬件问题。他们的保守主义可能是企业/学术文化的先决条件,这种文化统治着大型服务器所在的建筑物和校园——等级、头衔、薪水、任期、小内讧、抢夺信用、回避等等。考虑到这种防御性的职业主义,它是难怪没有较少的 创新。

相关内容