本地网络中的 apt 包缓存

本地网络中的 apt 包缓存

我家里有一台台式机和一台笔记本电脑,都运行相同版本的 Debian Testing。我该如何在笔记本电脑上配置 apt,让它先尝试从台式机下载软件包,然后再上网?

答案1

有几种方法。最简单的方法之一是安装 squid。Squid 只是一个 web/FTP 缓存,但这意味着它将缓存您的 Debian 下载——以及任何网站。所以它有一个额外的好处!

使用 squid(或任何缓存代理服务器)的一个缺点是您的 sources.list 必须全部指向同一个镜像,否则缓存命中将无济于事。

另一个选择是apt-proxy。我没有用过它,但我的理解是它的工作方式与 squid 非常相似,但专门针对 apt 存储库而设计 - 因此它可能不需要您对所有机器使用相同的镜像,并且可能有其他特定于 apt 的优化。

第三个选项是设置与上游镜像保持同步的部分镜像。不过这可能不是您真正想要的,因为它的配置更加复杂,并且占用更多带宽。

最后,穷人的选择是让两个系统之间的 /var/cache/apt/archives 保持同步,可能使用 rsync。您可以在执行任何 apt 安装之前运行此命令:

rsync -vc username@otherhost:/var/cache/apt/archives/* /var/cache/apt/archives

这根本不会缓存 Packages 文件(我提到的其他方法会缓存),但每当系统要下载包时,如果该包已存在于该目录中,它就不会下载。因此,您可以获得适当的缓存服务器的大部分好处,而无需设置开销。

我通常仅将最后一种方法用于一次性实例,例如全新安装。

答案2

我认为你应该尝试apt-cacher。如果您点击该链接,您将被带到一个指南/教程,其中相当详细地解释了如何执行此操作。

相关内容