가상 머신으로 실행 중인 RHEL OS가 있고 우리 팀에서는 두 개의 특정 RPMS를 업데이트하려고 합니다(에이전트/프로그램이 설치되어 있지만 버전이 오래되어 업데이트하고 싶습니다).
MyRepo.repo
yum( 디렉토리에 있는 파일의 jfrog 아티팩트를 가리킴 /etc/yum.repos.d
) 을 사용하여 RPM을 다운로드하는 데 문제가 있습니다 .404 - Error not found errors
그래서 저는 그냥 컬을 사용하고 수동으로 RPM을 가상 머신에 다운로드하기로 결정했습니다. 비슷한 이름을 가진 RPM이 2개 있고, my-prog-app-8.0.rpm
하나는 내가 만든 디렉토리에 있습니다 my-prog-libs-8.0.rpm
./root/rpms
yum update my-prog-app
이제 내 유일한 문제는 or 와 같은 것을 실행할 때
yum update my-prog-libs
다음 오류와 함께 매번 실패한다는 것입니다.
failure: repodata/repomd.xml from MyRepo: [Errno 256] No more mirrors to try.
file:///root/rpms/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /root/rpms/repodata/repomd.xml"
/repodata
이 디렉토리가 무엇 repomd.xml
인지, 어떤 파일을 찾고 있는지 정확히 모르겠습니다 . 이전 파일의 아티팩트를 가리켜 yum을 사용하여 RPM을 다운로드하려고 하면 MyRepo.repo
동일한 오류가 표시됩니다 . 로컬에 RPM이 있고 /etc/yum.repos.d
디렉토리에 다음과 같이 정의되어 있으므로 이제 안전할 것 같습니다 .
# cat /etc/yum.repos.d/MyRepo.repo
[MyRepo]
name=My Local Repo
baseurl=file:///root/rpms
enabled=1
gpgcheck=0
내가 여기서 뭘 잘못하고 있는지 말해 줄 수 있는 사람이 있나요? RPM이 이미 해당 OS에 설치/다운로드/로컬되어 있으므로 연결/방화벽에 문제가 될 수 없습니다 /root/rpms
. 그렇죠?
이건 뭐죠 /repodata/repod.xml
? 이 (2) rpm을 어떻게 업데이트할 수 있나요? 아니면 새로 설치하는 것이 더 나을 것 같나요?
답변1
이는 모든 저장소에 있어야 하는 /repodata/repod.xml
기본 저장소 메타데이터 파일 입니다.yum
rpm
다운로드한 RPM을 통해 직접 업데이트를 설치 하지 않고 yum
대신 저장소 정의를 생성하는 이유는 확실하지 않습니다 /etc/yum.repos.d/MyRepo.repo
.
저장소가 제대로 작동하려면 를 사용해야 합니다 createrepo /root/rpms
. 이렇게 하면 .rpm
디렉터리의 파일을 스캔한 후 저장소 메타데이터가 생성됩니다.
그러면 로컬 저장소를 사용할 수 있습니다 yum
.
답변2
알겠습니다. /repodata/repomd.xml/
파일이 있는 baseurl을 가리켜야 합니다 .