Red Hat Enterprise 7에서 yum을 사용하여 RPM을 업데이트/설치할 수 없습니다. - "/root/rpms/repodata/repomd.xml 파일을 열 수 없습니다."

Red Hat Enterprise 7에서 yum을 사용하여 RPM을 업데이트/설치할 수 없습니다. - "/root/rpms/repodata/repomd.xml 파일을 열 수 없습니다."

가상 머신으로 실행 중인 RHEL OS가 있고 우리 팀에서는 두 개의 특정 RPMS를 업데이트하려고 합니다(에이전트/프로그램이 설치되어 있지만 버전이 오래되어 업데이트하고 싶습니다).

MyRepo.repoyum( 디렉토리에 있는 파일의 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을 가리켜야 합니다 .

관련 정보