使用`repomirror`镜像不同的操作系统版本的yum存储库?

我有一台EL5机器。 在这个主机上,我想镜像一个EL6 RPM的Puppet存储库。 我如何在EL5主机上镜像EL6或Fedora存储库?

我正在使用reposync因为我只需要repo上可用的最新软件包,而不是整个存储库。

我的.repo文件包含这个:

 # cat puppetlabs.repo.el6 [main] # Override default releasever, per `man yum.conf` releasever=6 # Try distroverpkg instead? distroverpkg=6 [puppetlabs-products] name=Puppet Labs Products El 6 - $basearch baseurl=http://yum.puppetlabs.com/el/6/products/$basearch gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs enabled=0=1 gpgcheck=1 

我的命令行如下。 正如你所看到的,当我需要说'el6'时, reposync会在URL上加上'el5'。

 # lsb_release -r Release: 5.10 # reposync --newest-only --repoid=puppetlabs-products --config=puppetlabs.repo.el6 --urls http://yum.puppetlabs.com/el/6/products/x86_64/facter-1.6.6-1.el5.noarch.rpm http://yum.puppetlabs.com/el/6/products/x86_64/facter-2.0.1-1.el5.x86_64.rpm http://yum.puppetlabs.com/el/6/products/x86_64/hiera-1.3.2-1.el5.noarch.rpm 

我猜你正在使用的机器也有安装在/etc/yum.repos.d/ puppetlabs回购? 如果你从那里删除(并刷新yumcaching),你还看到这个问题?

我怀疑你会想给reposync一个全新的yum.conf(通过–config),指定一个不同的caching目录,然后是正常的系统。

感谢@devicenull带领我走向正确的道路。 我有以下工作。 我必须硬编码distroverpkg以及cachedirpersistdir

这是我的回购文件:

 # cat puppetlabs.repo.el6 # NOTE: This [main] section is required to workaround yum wierdness when we mirror distroverpkg=6 from an el5 host [main] distroverpkg=6 cachedir=/var/cache/puppetlabsmirror.el6/cache/ persistdir=/var/cache/puppetlabsmirror.el6/var keepcache=0 [puppetlabs-products] name=Puppet Labs Products El 6 - $basearch baseurl=http://yum.puppetlabs.com/el/6/products/$basearch gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs enabled=1 gpgcheck=1 

现在下面的命令工作正常:

 # reposync --config=puppetlabs.repo.el6 --repoid=puppetlabs-products --newest-only --urls http://yum.puppetlabs.com/el/6/products/x86_64/facter-1.6.7-1.el6.noarch.rpm http://yum.puppetlabs.com/el/6/products/x86_64/facter-2.0.1-1.el6.x86_64.rpm http://yum.puppetlabs.com/el/6/products/x86_64/hiera-1.3.2-1.el6.noarch.rpm http://yum.puppetlabs.com/el/6/products/x86_64/hiera-puppet-1.0.0-1.el6.noarch.rpm