如何为 ubuntu 设置本地存储库并添加您自己的软件包

如何为 ubuntu 设置本地存储库并添加您自己的软件包

我想做两件事:

首先,我希望在我的服务器上拥有自己的 ubuntu 存储库,以免公司互联网使用量过大并控制更新。我认为我必须使用 apt-mirror

而且我也想将我自己的包添加到存储库中。

做这个的最好方式是什么?

我是否必须拥有两个存储库?一个用于镜像,另一个用于我的软件包?如果与我的软件包发生冲突,Ubuntu 如何解决?

谢谢

答案1

对于基于 AWS 的设置,我必须做一些非常类似的事情。我决定使用一个盒子aptcacher-ngdpkg-开发包裹。

reprepro不支持软件包的多个版本,所以我没有使用它。由于我想尽可能缩短这些盒子的安装时间,从而让它们尽可能短暂,所以我没有使用 apt-mirroring,因为它可以根据您想要镜像的内容下载大量数据。

Aptcacher-ng 缓存了软件包,并且这个盒子会被所有其他盒子联系以满足它们的 apt 需求,因此我最终节省了大量的时间和带宽。

答案2

是的,如果您这样做,您将需要使用两个单独的存储库 - 镜像将保持由发行版的 GPG 密钥签名,而带有自定义包的存储库将由您生成的 GPG 密钥签名(并且您的节点需要信任)。

镜像的另一种选择是apt-cacher-ng- 它在您的节点上配置为 apt 代理,并将处理所有包请求。在对给定包的第一次请求中,它将从上游互联网存储库下载包;在后续请求中,它将从缓存中提供该包。因此,您可以获得本地镜像的带宽节省,而不必保留整个存储库的副本(如果您永远不会使用,则为 80%)。

对于您的自定义包内部仓库,使用reprepro- 它将处理所有文件结构和签名,您只需要处理设置 GPG 密钥并向其提供 .deb 文件。

对于软件包冲突,客户端系统将确定使用哪个软件包 - 通常,这是通过比较两个不同软件包上的版本字符串来完成的,但也可能受到以下因素的影响:钉住

相关内容