我使用 VirtualBox,以 Ubuntu 12.04 作为主机,以 CentOS 6.3 作为客户操作系统。在主机操作系统上配置了 apt-cacher-ng 来缓存软件包。
我谷歌了一下,但不知道如何使用 apt-cacher-ng 在 Ubuntu 主机上缓存 CentOS 客户机软件包。如何配置?
另外,在 CentOS 中缓存软件包的首选方法是什么?
答案1
对于我来说,使用来自 backports 的最新 12.04 版 apt-cacher-ng 运行正常(sudo apt-get install apt-cacher-ng/precise-backports)。否则,您需要编辑 acng.cnf 中的 VfilePattern 以添加一些 centos/rhel 模式。
有关更多信息,请参阅:https://bugs.launchpad.net/ubuntu/+source/apt-cacher-ng/+bug/1006844
答案2
Backports 版本包含的修复不仅限于上述错误中列出的修复。如果您仅使用 Precise 普通版本(带有上述修复),则会收到以下错误
403 禁止的文件类型或位置
因为 Centos 做的第一件事是使用以下命令检查本地镜像位置
http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os
apt-cacher-ng 不喜欢该 URL 中的某些内容。
Precise 反向移植版本修复了这个问题。
您可以按照以下步骤验证您的 Ubuntu 机器上是否存在(或是否已修复)该问题。
1)首先,设置获得使用 apt-cacher-ng 代理
nano ~/.wgetrc
# wget run control file for current user
# tell wget to use a proxy, apt-cacher-ng which listens on 3142
http_proxy=localhost:3142
2)现在问获得检索镜像文件。请注意额外的 \ 以转义“&”,以获取完整的 URL获得
wget --output-document=- http://mirrorlist.centos.org/?release=6\&arch=x86_64\&repo=os
3) 这将返回上述 403 错误(问题尚未修复)或正确的镜像列表...