这个让我摸不着头脑:
我在我的 cobblerd box 中添加了一个 repo,否则它是一个快乐的 CentOS7 cobbler 服务器,用于一些小的 repo:
cobbler repo add --name spacewalk-client25-6-x86_64 --mirror http://yum.spacewalkproject.org/2.5-client/RHEL/7/x86_64
cobbler reposync --only spacewalk-client25-6-x86_64
然后我注意到我的 URL 错误。嗬!6不像7。
cobbler repo edit --name spacewalk-client25-6-x86_64 --mirror http://yum.spacewalkproject.org/2.5-client/RHEL/6/x86_64
但是,在重新同步时,首先发生了奇怪的事情:它没有下载任何新内容,而是保留了 EL7 的内容。所以我敲了树:(nukeItFromOrbit.gifv)
rm -rf /var/www/cobbler/repo_mirror/spacewalk-client25-6-x86_64
cobbler reposync --only spacewalk-client25-6-x86_64
然后坏事发生了:它抱怨没有找到一些 EL7 的东西,即使它甚至不应该寻找!
:
:
rhn-virtualization-common-5.4. FAILED
:
rhnpush-5.5.98-1.el7.noarch.rp FAILED
:
spacewalk-backend-libs-2.5.43-1.el7.noarch: [Errno 256] No more mirrors to try.
spacewalk-client-cert-2.5.3-1.el7.noarch: [Errno 256] No more mirrors to try.
:
:
很奇怪——你看到它还在哪里寻找 EL7 的东西吗?所以我诅咒,握拳,和鞋匠同步,希望清除任何挥之不去的缓存般的滋扰。但这并没有解决足够的问题,所以我删除了 repo,同步了它,然后重新添加并重新同步。没有骰子。重新启动鹅卵石。没有。杀死 repo,重新启动 cobblerd,同步两次,重新添加 repo。没有。是的,这个 URL 是正确的。;-)
所以我很狡猾:定义一个新的 repo ('86_64 2') ,同步 ITS 数据,并将其滑入名称中(由于配置管理和 $releasevar 的原因,不能轻易更改):
cobbler repo add --name spacewalk-client25-6-x86_642 --mirror http://yum.spacewalkproject.org/2.5-client/RHEL/6/x86_64
cobbler reposync --only spacewalk-client25-6-x86_642
cobbler repo rename --name spacewalk-client25-6-x86_642 --newname spacewalk-client25-6-x86_64
cobbler reposync --only spacewalk-client25-6-x86_64
:
:
Removing obsolete spacewalk-client-cert-2.5.3-1.el6.noarch.rpm
Removing obsolete rhn-setup-gnome-2.5.16-1.el6.noarch.rpm
Removing obsolete yum-rhn-plugin-2.5.5-1.el6.noarch.rpm
Removing obsolete spacewalk-oscap-2.5.3-1.el6.noarch.rpm
:
:
spacewalk-client-repo-2.5-3.el FAILED
spacewalk-koan-2.5.2-1.el7.noa FAILED
spacewalk-oscap-2.5.3-1.el7.no FAILED
yum-rhn-plugin-2.5.5-1.el7.noa FAILED
rhnpush-5.5.98-1.el7.noarch: [Errno 256] No more mirrors to try.
rhn-virtualization-common-5.4.55-1.el7.noarch: [Errno 256] No more mirrors to try.
:
:
是的,真的。
有什么事情发生了,但strace -e trace=file
也没有弹出任何东西。有人见过这个吗?你想看到一个完整的 reposynch 在那个 repo 上运行吗?
(随意将'repository'标签调整为'reposync',这样更准确。我不能在我的蹩脚代表上做到这一点)