Centos – Yum repo server as archive cache

centosrpmyum

Our software stack requires some specific versions of RPM packages. Unfortunately some of these packages become deprecated over time and get removed from their repos since their maintainers don't keep archives (EPEL, Percona, …).

It is a problem in configuration management. We want to make sure we provision a new machine with the same software the old ones have (we use Puppet).

I guess the standard solution is hosting these packages in a private YUM repo we set up for our own. This is beneficial for packages we need to compile from source, too.

My question is: do you know of any "proxy tool" to a Yum repo server so that every agent downloads packages from there and the repo server downloads packages from the external, original sources then caches them locally? (In case they disappear from the original repo)

An analogy from Java world would be Archiva, which is a Maven repo server, but also can be used to proxy requests to public repos and cache them locally.

OS: Centos 6.4

Thank you

Best Answer

I think mrepo is a great tool for this. You point it at an upstream repository and it will mirror locally. The configuration option lftp-cleanup = no, rhnget-cleanup = no, etc, will prevent it from deleting packages from your local mirror when they are deleted upstream.

Dag's mrepo