Redhat使用
使用 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
我的命令行如下。如您所見,
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 引導我走上正確的道路。我得到了以下工作。我必須
distroverpkg
像cachedir
and一樣硬編碼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),指定一個不同的記憶體目錄,然後是正常的系統目錄。