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 Mirror List API"를 검색해서 찾았습니다.웹 서비스용 코드 저장소. 소스를 파고들어 이 코드를 찾았습니다.여기:
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을 사용하여 테스트한 결과 원하는 이미지를 얻은 것 같습니다 .
- http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=BaseOS&cc=us
- http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=BaseOS&cc=cn
편집하다
제가 잘못된 문서를 읽었다는 사실이 밝혀져 좀 당황스럽습니다.