서버가 업데이트되었지만 yum 클라이언트에 새 패키지가 표시되지 않습니다


16

여러 저장소 (RHEL 저장소 사본, 사내에서 만든 프로그램 등)가 포함 된 내부 yum 서버가 있습니다. 내부 시스템은 인터넷에서 방화벽으로 차단되므로 내부 서버 만 사용할 수 있습니다.

패치를 프로덕션 환경에 적용하기 전에 패치를 테스트하기 위해 stable기본적으로 사용 가능한 저장소 가 있습니다 . 모든 업데이트는 -latest저장소에 저장됩니다. 서버를 패치 할 때 -latest-repo를 사용하여 새로운 기준을 구축하고 몇 대의 서버에서 테스트합니다. 일단 테스트되면, 우리는 그 기준을 새로운 것으로 stable만듭니다. -latestREPOS은 기본적으로 비활성화되어 있습니다.

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 주소로 확인되는지 확인했지만 그 중 하나는 패키지를 찾을 수 있고 다른 하나는 찾을 수 없습니다.

답변:


14

yum 서버의 웹 서버 로그를 파고 들기 시작했고 파일을 찾을 수없는 클라이언트의 IP에서 히트를 찾지 못했습니다. 클라이언트의 캐시를 지 웠기 때문에 처음에는 이것을 이해하지 못했습니다. 그래서 이번에는 또 다른 캐시 정리를 수행했습니다.

sudo yum -v clean expire-cache

로 실행하면 -v정리할 저장소가 나열 int-optional-latest되고 목록에 없습니다. 나는 이것이 repo가 ​​기본적으로 비활성화되어 있기 때문이라고 생각합니다. 이번에는 다음을 사용하여 다른 캐시 지우기를 수행했습니다.

sudo yum -v enable-repo=int-optional-latest clean expire-cache

그 후, 나는 다른 시도

sudo yum enable-repo=int-optional-latest install perl-Excel-Writer-XLSX

완벽하게 작동했습니다.


명령과 같은 패키지 이름의 끝에 X로해야합니다 : sudo는 냠 수-의 repo = INT - 선택 - 최신 펄 엑셀 - 작가 - XLSX 설치
크리스 매든

감사합니다, @ChrisMadden! 잘라 내기 및 붙여 넣기 실수, 분명히 ...
Jenny D

1
sudo yum -v clean expire-cache

나를 위해 작동하지 않았다. 그러나 나는 그것을 사용할 수있었습니다.

sudo touch /etc/yum.repos.d/<your_repo_file>

yum repolist

업데이트되었음을 ​​보여줍니다. 도움이 되었기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.