apt-get 文件存储在哪里?

apt-get 文件存储在哪里?

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

apt-get update
apt-get upgrade

但是单独更新每个虚拟机需要花费大量时间来下载所需的软件包,还会占用大量带宽(我的带宽已经用完了)。是否可以将更新的文件直接传输apt-get到虚拟机中?

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


更新:有很多解决方案

  1. apt-cacher-ng 正如答案中提到的。
  2. 为缓存 apt 文件而构建的 Docker 镜像(它们实际上运行 squid)
  3. 只需使用 squid

另外,正如答案中提到的,请参阅在 LAN 上缓存 apt 下载的最佳方法是什么?

答案1

您已下载的 .deb 文件存储在 中/var/cache/apt/archives/

答案2

/var/cache/apt/archives是它们应该存储的地方。

答案3

这不是对你问题的明确回答,但你考虑过设置一个 apt 代理吗?我使用 apt-cacher-ng (apt-get install apt-cacher-ng)。也许在 VM 主机上设置它,并告诉 VM(和主机)使用它作为代理(就像将文件(例如02proxy)添加到/etc/apt/apt.conf.d/ 包含

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

这样,您就无需apt-get upgrade手动复制文件。当一台计算机下载 deb 时,它们将存储在代理上,以供下一台请求它的计算机使用。可以处理多个版本和不同的架构等

答案4

你可以把所有的*.deb备份,然后复制到vmware里,你可以复制到/root/sw_backup。文件夹不能是/var/cache/apt/archives/

然后您可以使用 synaptic 进行本地安装。$synaptic “文件”菜单找到本地安装。但它也需要网络,只需要更新一个小包。

相关内容