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"(예: OS 버전)로 대체했습니다. 어떤 이유로 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

하지만 왜 실패했는지는 아직 파악되지 않았습니다.

관련 정보