
우리 소프트웨어 스택에는 특정 버전의 RPM 패키지가 필요합니다. 불행히도 이러한 패키지 중 일부는 시간이 지남에 따라 더 이상 사용되지 않으며 관리자가 아카이브(EPEL, Percona 등)를 보관하지 않기 때문에 저장소에서 제거됩니다.
구성 관리에 문제가 있습니다. 우리는 이전 컴퓨터와 동일한 소프트웨어를 사용하여 새 컴퓨터를 프로비저닝하고 싶습니다(우리는 Puppet을 사용합니다).
표준 솔루션은 우리가 직접 설정한 개인 YUM 저장소에서 이러한 패키지를 호스팅하는 것 같습니다. 이는 소스에서 컴파일해야 하는 패키지에도 유용합니다.
내 질문은 다음과 같습니다모든 에이전트가 거기에서 패키지를 다운로드하고 repo 서버가 외부 원본 소스에서 패키지를 다운로드한 다음 로컬로 캐시할 수 있도록 Yum repo 서버에 대한 "프록시 도구"에 대해 알고 계십니까? (원래 저장소에서 사라지는 경우)
Java 세계의 비유는 Maven 리포지토리 서버인 Archiva이지만 공개 리포지토리에 대한 요청을 프록시하고 로컬로 캐시하는 데에도 사용할 수 있습니다.
OS: 센토스 6.4
감사합니다
답변1
나는 mrepo
이것이 훌륭한 도구라고 생각합니다. 업스트림 저장소를 가리키면 로컬로 미러링됩니다. 구성 옵션 lftp-cleanup = no
등 rhnget-cleanup = no
은 패키지가 업스트림에서 삭제될 때 로컬 미러에서 패키지가 삭제되는 것을 방지합니다.
답변2
원하는 특정 RPM 버전을 다운로드하세요. 원하는 패키지만 포함하는 로컬 저장소를 만드세요. 클라이언트가 새 로컬 저장소를 가리키도록 하세요. 원하는 대로 작동하지 않는 공개 기능 사용을 중지하세요.
시작하려면:
yum -y install createrepo && man createrepo