在两个系统之间共享/ var / cache / apt /是否会有负面影响?


10

在节省带宽的利益,我正在考虑安装VirtualBox虚拟主机/var/cache/apt作为/var/cache/apt来宾。主机和来宾均为32位Ubuntu 10.10。这样做会有负面影响吗?

我知道像apt-proxy这样的更强大的解决方案,但是如果可能的话,我希望使用这种简单的解决方案,以便为主机节省运行额外服务的开销。

Answers:


10

我相信其中/var/cache/apt/{,src}pkgcache.bin包含当前已安装的软件包。

而不是共享/var/cache/apt/,而是共享/var/cache/apt/archives/包含独立文件的目录。您必须进行一些调整,因为/var/cache/apt/archives它仅由root拥有和可写。一种选择是将的组设置/var/cache/apt/archivesapt-cache-writer并将setgid位添加到目录中。自己添加到apt-cache-writer组,并设置umask成类似00020007替代的0022

请注意,将sudo apt-get clean清除此目录(/var/cache/apt/archives)。


在Ubuntu 14上,我尝试这样做是为了发现专有apt锁定基于此目录中的文件!(什么!?缓存目录中的锁定文件!)因此与VM等共享文字文件系统可能不是一个好的解决方案。我也建议使用适当的apt-caching服务,在这里详细讨论:askubuntu.com/q/3503/250556
ThorSummoner


4

最好的解决方案是在主机上使用Apt-Cacher-NG。您无需担心将专用于aptcacher的网络计算机专用,因为它作为具有简单安装/配置的简单程序运行。唯一需要注意的是要支付的磁盘空间量,但到目前为止我已经使用此设置已有相当长的时间了,这并不是问题。

看起来很奇怪,但是您也可以将apt-cacher用于安装apt-cacher的计算机。这意味着,如果您的VM在主机之前更新,它将填充缓存,并且主机将能够从缓存中获取软件包。

通过将url:“ http:// your-apt-cacher-ng-server:3142”放在浏览器中,您还将能够看到正在缓存多少以及命中率的统计信息(请参见下文)。

可以在以下位置找到有关如何配置apt-cacher的简单说明:http : //acidborg.wordpress.com/2010/06/24/how-to-install-and-configure-apt-cacher-ng-on -ubuntu-server-10-04 /为了完整起见,我将在下面粘贴。

  1. 安装: apt-get install apt-cacher-ng
  2. 配置:编辑/etc/apt-cacher-ng/acng.conf以下内容:
CacheDir: /var/cache/apt-cacher-ng
LogDir: /var/log/apt-cacher-ng
Port:3142
BindAddress: 0.0.0.0
Remap-debrep: file:deb_mirror*.gz /debian ; file:backends_debian
Remap-uburep: file:ubuntu_mirrors /ubuntu ; file:backends_ubuntu
PidFile: /var/run/apt-cacher-ng/pid
ExTreshold: 4
  1. 重新启动Apt-Cacher NG: /etc/init.d/apt-cacher-ng restart
  2. 在网络上其余的Debian / Ubuntu计算机上创建/etc/apt/apt.conf.d/02proxy具有以下内容的文件:

    Acquire::http { Proxy "http://your-apt-cacher-ng-server:3142"; };


在浪费一个下午的时间之前,我建议在askubuntu.com/q/3503/250556阅读 -我对apt-cacher的问题最少squid-deb-proxy,这对我来说最少。)或apt-cacaher-ng(带有配置文件的更精细的python混乱)在此消息时间戳附近的14.04 LTS上对我来说效果很好。
ThorSummoner
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.