Назад | Перейти на главную страницу

Используете `repomirror` для зеркалирования репозитория yum для другой версии ОС?

У меня машина 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