Yum이 Centos repos 파일의 $releasever 변수를 인식하지 못하는 것 같습니다.

Yum이 Centos repos 파일의 $releasever 변수를 인식하지 못하는 것 같습니다.

Centos 7 클러스터에서 yum을 사용하여 패키지를 설치하려고 하는데 다음 오류가 발생합니다.

One of the configured repositories failed (Unknown), 
and yum doesn't have enough cached data to continue. At this point the only 
safe thing yum can do is fail. There are a few ways to work "fix" this: [...]

yum clean all온라인에서 제안된 몇 가지 솔루션( 캐시 삭제, 저장소 데이터베이스 삭제 및 재구축 등) 을 시도했지만 아무것도 작동하지 않습니다.

몇 시간의 문제 해결 끝에 해결책을 찾았습니다. /etc/yum.repos.d/CentOS-Base.repo파일 에서 해당 baseurl행의 주석 처리를 제거하고 변수를 $releasever"7"(즉, 운영 체제 버전)로 대체했습니다. 어떤 이유로 yum은 $releasever를 인식하지 못하고 저장소를 찾을 수 없습니다.

그래서 대신:

baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

나는 가지고있다:

baseurl=http://mirror.centos.org/centos/7/os/$basearch/

그 후 yum update와 yum install이 모두 제대로 작동하는 것 같았습니다. 그러나 이것이 문제에 대한 영구적인 해결책인지는 모르겠습니다.

무슨 일이 일어나고 있는지, 그리고 이 문제를 해결하는 더 적절한 방법이 있는지 말해 줄 수 있는 사람이 있습니까?

감사해요.

답변1

최근에이 문제가 발생했습니다. 설정이 releasever저에게 효과적입니다. 또한 distroverpkg./etc/yum.conf

나는 그것을 다음과 같이 설정했습니다 :

distroverpkg=centos-release

이것은 나에게 효과적입니다.

답변2

해결책을 찾았습니다.

yum --installroot=/usr/local install nginx --releasever=7

그러나 왜 실패했는지는 아직 명확하지 않습니다.

관련 정보