我想在我的 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
,并且仅通过镜像列表即可存活,以防某些包不属于baseurl
url 的一部分。
编辑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