我多次看到这样的说明,告诉用户不要太频繁地更新他们的存储库(即每天超过一次),因为这会给服务器带来太大的压力。我还知道,这样的存储库需要巨大的机器。
我想知道是否有类似 BitTorrent 的包管理工具?或者如果没有的话,有这样一个系统是否可行?
(我正在考虑一个系统,每个用户都保留他们拥有的包并以与 BitTorrent 相同的方式提供服务。)
答案1
确实这是可能的,当然也存在,但所有现有的项目仍然只是实验。
我发现了两篇有趣的论文:
- 使用志愿者协助进行安全软件交付的基于 P2P 的架构
- 分布式包管理网络仿真平台。特别令人感兴趣的是其中概念的一章无存储库包管理网络被介绍。
所以是的,这是可能的,而且这确实是一个非常有趣的主题。
答案2
此外,如果这是在公司环境中,您可以设置本地镜像和/或代理来缓解此问题。这样就不需要 BitTorrent 了。如果您使用的是基于 Debian 的发行版,您已经可以使用apt-cacher/apt-代理去做吧。
答案3
您可以尝试设置一种基于 apache 的负载均衡器,并指定几个不同的镜像作为“后端”。每次您点击代理时,都会点击不同的真实镜像,从而将您的请求分散到多个镜像中。
但是,大多数镜像每天只更新一次。单个镜像作业可能会很长,尤其是当有较大更新时。对于镜像操作员来说,每天超过一次通常是不值得的,而且镜像频繁给上游带来的压力比简单的apt-get update
.
请记住,镜像和分发通常是在志愿者的基础上完成的。这些志愿者必须为带宽、存储、电力、冷却等支付大笔费用。
我自己操作一个 Debian 镜像。请帮助我们,不要太严厉地打击我们。
答案4
为了apt
:apt-transport-debtorrent
。请注意,您仍然需要apt-get update
从其中一个镜像获取软件包列表(即),以便它知道哪些软件包可用。