0

这个让我摸不着头脑:

我在我的 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',这样更准确。我不能在我的蹩脚代表上做到这一点)

4

1 回答 1

0

幸运的是,我几乎在发布后就跌倒了答案。

/var/cache/yum有一个通常美味的回购数据的冗余缓存,但它甚至很久以前就删除了那些酸的:我spacewalk-client25-6-x86_642从上面的狡猾尝试中找到了一个,以及spacewalk-client25-6-x86_64它拒绝更新的旧的。

我打了那个,恶毒地笑了笑,然后重新同步。

rm -rf /var/cache/yum/*
cobbler reposync --only spacewalk-client25-6-x86_64

生活很好。

于 2017-12-05T20:59:51.390 回答