CentOS强制dnf使用特定位置的镜像

CentOS强制dnf使用特定位置的镜像

使用 CentOS 8。

我想强制dnf只在某个位置附近使用镜子,而不必手动维护所需镜子的列表。所以我想修改/etc/yum.repo.d/.

/etc/yum.repo.d/CentOS-Linux-BaseOS.repo个例子,这是它的默认状态:

[baseos]
name=CentOS Linux $releasever - BaseOS
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

我想知道查询时是否有一个参数mirrorlist.centos.org可以指定按位置过滤,如下所示:

mirrorlist=http://mirrorlist.centos.org/?country=us&other-params-ommitted

country=我试过了,什么也没做)

我在该网站的 API 上找不到任何相关文档。

答案1

因此,在发布这个问题之前,我进行了更深入的研究,并自己得到了答案,所以就在这里。

我搜索“Centos镜像列表API”并找到了Web服务的代码存储库。我深入研究了它的来源并找到了这段代码这里:

  ip=request.remote_route[-1]
  cc=request.query.cc
  debug=request.query.debug
  remote_ip = ipaddr.IPAddress(ip)
  mirrorlistpage = "https://www.centos.org/download/mirrors/"
  if branch == "altarch":
    mirrorlistpage = "https://www.centos.org/download/altarch-mirrors/"

  region = None
  if len(cc) == 5 and cc[2:3] == "-":
    country = cc[:2]
    region = cc[3:]
  elif len(cc) > 0:
    country = cc
  else:
    try:
      country = geodb.city(ip).country.iso_code.lower()
      if country == 'us' or country == 'ca':
        try:
          region = geodb.city(ip).subdivisions.most_specific.iso_code
        except:
          pass
    except:
      country = 'fallback'

看起来参数只是cc.我使用以下 URL 进行了测试,确实得到了我想要的镜像:


编辑

原来我居然看错文件了,有点尴尬

相关内容