我家里的 PC 上运行着几台 Linux 虚拟机。Linux 的一个怪癖是,每次运行包管理器时,它都会“刷新”已配置的软件存储库 - 这基本上意味着它要从互联网上下载文件。如果我恢复到 VM 的早期快照,那么下次运行包管理器时,它将重新下载完全相同的数据 [因为它不再存在于 VM 中]。
浪费带宽一遍又一遍地下载相同的数据似乎很可惜,所以我想知道是否有办法设置某种 HTTP 代理服务器来缓存下载的文件。但我不知道该怎么做。特别是,需要设置它,以便虚拟机不需要“知道”缓存在那里;它需要是透明的。但我不知道该怎么做。
关于我需要使用什么软件,有什么建议吗?如果我可以在 Windows 主机操作系统下运行它,那就太好了,但是使用 Linux 客户机运行小型 VM 也是可能的……
答案1
此幻灯片涵盖了基于 Debian 的 Linux 发行版的包缓存代理的几种解决方案:
约
作为代理运行:您告诉它使用什么镜像,然后配置客户端将其用作唯一镜像。
在软件包主机上安装:
sudo apt-get install apport
配置 Approx 以使用您最喜欢的后端镜像
/etc/approx/approx.conf
:debian http://ftp.au.debian.org non-US http://ftp.au.debian.org/non-US security http://security.debian.org/security
配置客户端以使用 Approx 服务器:
deb http://localcache:9999/debian stable main contrib deb http://localcache:9999/security stable main
apt-代理
类似于 Approx
安装
sudo apt-get install apt-proxy
配置最喜欢的镜像
/etc/apt-proxy/apt-proxy-v2.conf
:[debian] backends = http://ftp.au.debian.org http://ftp.us.debian.org
使用 Approx 配置客户端如下:
deb http://localcache:9999/debian stable main contrib deb http://localcache:9999/security stable main
它们被设计为在 Linux 上运行,但您可能能够以最少的麻烦将它们移植到 Windows。我希望 Python 是独立于平台的,但我发现程序员经常做出假设。