apt-get文件存储在哪里?


26

有多个运行Ubuntu的虚拟机,它们都通过以下命令进行更新:

apt-get update
apt-get upgrade

但是,分别更新每个VM会花费大量时间来下载所需的软件包,并且还会使用大量带宽(我已经用光了)。是否可以将更新的文件apt-get直接传输到VM?

我知道软件包存储在其中,/var/cache/apt/archives但是我需要apt-get数据库文件(镜像列表,索引,镜像上的可用软件包等)。


更新:有很多解决方案

  1. 答案中提到的apt-cacher-ng。
  2. 用于缓存apt文件的Docker映像(它们实际上运行squid)
  3. 只需使用鱿鱼

另外,如答案中所述,请参阅在LAN上缓存apt下载的最佳方法?

Answers:


15

这不是您问题的明确答案,但是您是否考虑过设置适当的代理?我使用apt-cacher-ng(apt-get install apt-cacher-ng:D)。Prehaps设置VM主机上这件事,并告诉虚拟机(和主机)使用此作为其代理人(如简单添加文件(例如02proxy)以/etc/apt/apt.conf.d/

Acquire::http { Proxy "http://vm host ip:3142"; };

这样,您apt-get upgrade无需手动复制文件即可完成操作。当一台计算机下载Deb时,它们将存储在代理服务器中,供下一个请求它的计算机使用。可以处理多个版本和不同的体系结构等

只是虽然:D


1
您甚至可以安装squid-deb-proxy在代理服务器squid-deb-proxy-client上或其他服务器上。这将使代理检测透明地工作(使用Avahi),不需要客户端配置。另外,如果在本地网络上找不到代理服务器,则客户端将直接连接到存储库(这甚至适用于笔记本电脑)。
皮斯克沃2013年

我第二次在Apt-cacher上使用Squid-deb-proxy。相关问题:在LAN上缓存apt下载的最佳方法?
gertvdijk 2013年



0

您可以备份所有* .deb,然后将其复制到vmware中,然后将其复制到中/root/sw_backup。该文件夹不能为/var/cache/apt/archives/

然后,您可以在本地安装Synaptic。$ synaptic“文件”菜单查找本地安装。但它也需要网络,只需要更新一点软件包即可。


请注意,这应该是.deb而不是.dep
Malfist 2014年
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.