如何创建本地 apt 包代理?

如何创建本地 apt 包代理?

我在 AWS 上部署了很多集群。为了确保新实例的部署不中断,我想维护一个本地 apt 代理来保存软件包的缓存。

  • 我应该能够将成功安装的实例的所有已安装的 apt 包同步到我的本地代理
  • 当配置新机器时,让它们查看代理服务器上的包和依赖项。

是否有一个简单的方法来设置这样的功能?

答案1

与@theterribletrivium 的回答类似但更简单为什么不使用apt-proxy 它是专门为此设计的 - 甚至可能根据您的发行版作为官方软件包提供?

答案2

简单是相对的,但大多数 Web 代理默认或以最低配置提供缓存功能。只需安装某种 Web 代理并将代理配置指向此系统即可。

我们通常被要求避免提及特定产品的名称,但 Squid 可以在这种情况下发挥作用。对于 Squid,您需要研究的配置指令是 cache_dir。启用该指令的名称和方法显然会因可用的许多 Web 代理而有很大差异。Squid 通常附带一个默认配置文件,其中有一行被注释掉。配置值的简要说明:指令 | 文件系统 | 缓存目录 | 缓存大小(以 MB 为单位) | 第一级子目录 | “#cache_dir ufs /var/spool/squid 100 16 256”。

如果您不想限制流量,那么您就大功告成了。我通常会实施缓存 Web 代理来设置白名单并丢弃所有其他连接尝试。这样,我可以确保我的服务器只连接到我指定的 IP 或 DNS 名称。这可以大大降低攻击者窃取数据或以其他方式突破您的安全控制的能力。这超出了这个问题的范围,但在某些时候可能对您来说是一件有用的事情。

相关内容