여러 저장소 (RHEL 저장소 사본, 사내에서 만든 프로그램 등)가 포함 된 내부 yum 서버가 있습니다. 내부 시스템은 인터넷에서 방화벽으로 차단되므로 내부 서버 만 사용할 수 있습니다.
패치를 프로덕션 환경에 적용하기 전에 패치를 테스트하기 위해 stable
기본적으로 사용 가능한 저장소 가 있습니다 . 모든 업데이트는 -latest
저장소에 저장됩니다. 서버를 패치 할 때 -latest
-repo를 사용하여 새로운 기준을 구축하고 몇 대의 서버에서 테스트합니다. 일단 테스트되면, 우리는 그 기준을 새로운 것으로 stable
만듭니다. -latest
REPOS은 기본적으로 비활성화되어 있습니다.
repos 중 하나는 epel, rpmforge 등에서 가져 오는 몇 가지 패키지에 사용됩니다. 원하는 패키지 만 필요한 종속성과 동기화하는 스크립트가 있습니다. 패키지가 동기화 된 후 repo는 createrepo로 매일 밤 다시 작성됩니다. 이러한 패키지는 테스트를 거치지 않았기 때문에 int-optional-latest
일반적으로 비활성화 된 저장소로 끝납니다 . 서버에 해당 리포지토리의 패키지가 필요한 경우를 사용하여 설치합니다 enable-repo=int-optional-latest
.
오늘날 동료는 서버에 perl-Excel-Writer-XLSX를 설치하려고했습니다. 서버가 패키지를 찾지 못했습니다. createrepo를 사용하여 리포지토리를 다시 작성하고 repodata 파일을 grepp하여 파일이 있는지 확인했습니다. 그렇습니다. 또한 파일을 사용하여 파일이 저장소 내에 존재하는지 확인했습니다.
repoquery -q --repoid=int-optional-latest -l perl-Excel-Writer-XLSX
또한 클라이언트 측에서 메타 데이터 캐시를 지우고
sudo yum clean expire-cache
그럼에도 불구하고 클라이언트는 패키지가 서버에 존재하지 않는다고 계속 주장했습니다.
다른 컴퓨터에서 검색을 시도했을 때 패키지를 찾았 기 때문에 문제가 서버 측에 있다고 생각하지 않습니다. repo 파일이 올 바르고 이름이 yum.example.com
두 서버에서 동일한 IP 주소로 확인되는지 확인했지만 그 중 하나는 패키지를 찾을 수 있고 다른 하나는 찾을 수 없습니다.