У меня машина EL5. На этом хосте я хотел бы отразить репозиторий Puppet для пакетов EL6 rpms. Как я могу отразить репозиторий EL6 или Fedora на хосте EL5?
Я использую reposync
потому что мне нужны только самые новые пакеты, доступные в репозитории, а не весь репозиторий.
Мой файл .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
добавляет "el5" к URL-адресу, когда мне нужно, чтобы он сказал "el6".
# 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
Я предполагаю, что на используемом вами компьютере также установлено репозиторий puppetlabs в /etc/yum.repos.d/? Если вы удалите его оттуда (и очистите кеш yum), вы все еще увидите эту проблему?
Я подозреваю, что вы захотите предоставить reposync совершенно новый yum.conf (через --config), указав другой каталог кеша, чем обычный системный.
Спасибо @devicenull за то, что направил меня по правильному пути. Я получил следующие работы. Мне пришлось жестко запрограммировать distroverpkg
так же хорошо как cachedir
и 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