Yum repo 服务器作为档案缓存

Yum repo 服务器作为档案缓存

我们的软件堆栈需要某些特定版本的 RPM 包。遗憾的是,其中一些包会随着时间的推移而弃用,并从其存储库中删除,因为它们的维护者没有保留档案(EPEL、Percona 等)。

这是配置管理方面的问题。我们希望确保新机器能够使用与旧机器相同的软件(我们使用 Puppet)。

我猜标准解决方案是将这些包托管在我们自己设置的私有 YUM 存储库中。这对于我们需要从源代码编译的包也很有帮助。

我的问题是:您是否知道任何 Yum 存储库服务器的“代理工具”,以便每个代理都从那里下载软件包,而存储库服务器从外部原始来源下载软件包,然后将其缓存在本地?(以防它们从原始存储库中消失)

Java 世界的一个类比是 Archiva,它是一个 Maven repo 服务器,但也可以用于代理对公共 repo 的请求并在本地缓存它们。

操作系统:Centos 6.4

谢谢

答案1

我认为mrepo这是一个很棒的工具。你将其指向上游存储库,它将在本地镜像。配置选项lftp-cleanup = norhnget-cleanup = no等将阻止它在从上游删除软件包时从本地镜像中删除软件包。

Dag 的 mrepo

答案2

下载您想要的特定 RPM 版本。创建您自己的本地存储库,仅包含您想要的软件包。将您的客户端指向您的新本地存储库。停止使用那些行为不符合您要求的公共存储库。

开始:

yum -y install createrepo && man createrepo

答案3

太空行走可以处理这个问题。(不过请注意,在 EL7 中它将被取代为纸浆也许卡特洛

相关内容