Redhat

使用 repomirror 為不同的作業系統版本鏡像 yum 儲存庫?

  • April 3, 2014

我有一台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

我的命令行如下。如您所見,reposync當我需要它說“el6”時,將“el5”附加到 URL 上。

# 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

感謝@devicenull 引導我走上正確的道路。我得到了以下工作。我必須distroverpkgcachedirand一樣硬編碼persistdir

這是我的回購文件:

# 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

我猜你正在使用的機器也在 /etc/yum.repos.d/ 中安裝了 puppetlabs 儲存庫?如果您從那裡刪除它(並刷新 yum 記憶體),您還會看到這個問題嗎?

我懷疑你會想要給 reposync 一個全新的 yum.conf(通過 –config),指定一個不同的記憶體目錄,然後是正常的系統目錄。

引用自:https://serverfault.com/questions/586303