在 yum.repo 中同时使用 baseurl 和 mirrorlist

在 yum.repo 中同时使用 baseurl 和 mirrorlist

我想在我的 Nexus 存储库中缓存 RPM 数据包。在客户端的 repo 文件中,我有两行,均未注释:

baseurl=http://nexus-ip/repository/bts-nexus-almalinux-base/$releasever/BaseOS/$basearch/os/
mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/baseos

Yum 更新仅转到镜像列表。如果我注释镜像列表,则一切正常,但如果 nexus repo 不可用,则服务器无法更新数据包。我最终想要的是,客户端首先转到 baseurl,并且只有当它不可用时才使用镜像列表。这可能吗?我如何才能使 baseurl 优先于镜像列表?

答案1

mirrorlist只是为了给你提供更多从文档下载包的替代方案。

mirrorlist 指定包含 baseurl 列表的文件的 URL。这可以代替 baseurl 选项或与 baseurl 选项一起使用。下面描述的替换变量可以与此选项一起使用。作为一种特殊的 hack,如果 mirrorlist URL 包含单词“metalink”,则 mirrorlist 的值将复制到 metalink(如果未设置 metalink)。

因此,您可以将其放在baseurl顶部mirrorlist,并且仅通过镜像列表即可存活,以防某些包不属于baseurlurl 的一部分。

编辑1:

您可以尝试 baseurl 和failovermethod=priority组合,按照您想要的优先级以类似的顺序添加 url。

故障转移方法

它可以是“roundrobin”或“priority”。'roundrobin' 从 URL 列表中随机选择一个 URL 开始,然后如果它无法联系到所选的服务器,它将以类似的方式继续选择另一个。'priority' 从 baseurl 中列出的第一个开始,如果它无法联系到服务器,它将按顺序继续列表中的下一个。如果未指定,则默认为“priority”。它可以是“roundrobin”或“priority”。'roundrobin'

你可以像下面这样提供多个 baseurl,

baseurl=http://<service_node>/install/centos7.5/x86_64         
        http://<master_node>/install/centos7.5/x86_64

相关内容