![是否可以镜像 apt 存储库?](https://linux22.com/image/1033445/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E9%95%9C%E5%83%8F%20apt%20%E5%AD%98%E5%82%A8%E5%BA%93%EF%BC%9F.png)
我是凯斯西储大学的一名学生,Ubuntu 服务器到我所在地的带宽通常非常糟糕(大约几百字节每秒)。我和几个朋友希望能够下载一次软件包,然后将它们缓存起来,供校园内其他 Ubuntu 安装使用。要做到这一点,我们要么需要设置自己的 APT 存储库,要么设置某种形式的缓存(squid?)服务器,以便我们能够将系统指向该服务器。
设置这样的镜像是否很困难?如何实现?
答案1
您可能希望使用 apt-proxy 而不是完整镜像,因为它将占用更少的空间和时间来进行设置:
https://help.ubuntu.com/community/AptProxy
然后,您需要为想要使用您的代理的任何人更新存储库列表。
答案2
有多种方法可以镜像存储库或缓存包下载。最佳解决方案取决于有多少人将使用它以及现有的基础设施。
例如,许多大学已经有本地软件镜像,在这种情况下最简单的解决方案可能是将 Ubuntu 添加到该镜像中。;)
如果您的大学已经有代理服务器,那么可能可以使用它(也许对存储库进行一些自定义设置?)。
当您想要镜像整个或部分官方存储库(和/或其他存储库)时,可以使用诸如apt-mirror
、debmirror
、或 之debpartial-mirror
类的命令。镜像整个存储库可能会引入大量从未使用过的软件包,因此如果带宽确实是一个问题(即使在晚上),仅镜像流行的软件包可能会很有用...mirrorkit
ubumirror
当你只想缓存用过的软件包中,有apt-cacher
,apt-cacher-ng
或者apt-p2p
,或者像Squid这样的代理。
拥有本地镜像(与缓存相比)的一个优点是安装/升级将始终很快(对于镜像上可用的软件包而言),而使用缓存时,第一个需要软件包的人必须等到下载完成。您还可以将镜像配置为在夜间更新,这样当(几乎)没有其他人使用互联网上行链路时,就可以下载软件包。
另一方面,使用缓存的优点在于您只会下载所需的软件包,而不会下载超过所需的软件包。