캐시를 정리하지 않고 로컬 저장소에 대한 업데이트를 yum에서 확인하려면 어떻게 해야 하나요?

캐시를 정리하지 않고 로컬 저장소에 대한 업데이트를 yum에서 확인하려면 어떻게 해야 하나요?

테스트 빌드를 설치하는 데 사용하는 로컬 yum 저장소를 설정했습니다. 테스트 목적으로 내 패키지의 버전은 다음과 <svn version number>.<date>.<time>같습니다(예:12345.20110908.150404

문제는 새 RPM을 만들고 이를 저장소 디렉토리에 복사하고 실행하면 createrepo $REPO_DIRyum에서 새 RPM을 사용할 수 있는 것으로 표시하지 않는다는 것입니다.

$ cd $REPO_DIR
$ ls -1
repodata
package-12345.20110908.150404-1.x86_64.rpm
package-12345.20110908.174329-1.x86_64.rpm

$ createrepo .
# ...snip...

$ rpm -q package
package-12345.20110908.150404-1.x86_64

$ yum list --showduplicates package
Installed Packages
package.x86_64    12345.20110908.150404-1    @repo
Available Packages
package.x86_64    12345.20110908.150404-1    repo

메타데이터 를 실행한 다음 다시 가져오면 업데이트를 확인하고 가져올 수 있지만 yum clean all이는 다른 yum 저장소에 대해서는 그렇게 할 필요가 없기 때문에 저장소에서 다른 작업을 수행해야 한다는 의미일 뿐입니다.

yum updateYum 캐시를 정리할 필요 없이 클라이언트에서만 실행하면 되도록 로컬 저장소를 어떻게 설정해야 합니까 ?

답변1

yum에게 저장소를 확인하라고 지시하는 훨씬 더 효율적인 방법인 "yum cleanexpired-cache"를 실행할 수 있습니다. ... 또 다른 방법은 로컬 저장소의 Metadata_expire 값을 변경하는 것입니다. (man yum.conf 참조)

답변2

Yum 클라이언트의 /etc/yum.conf에 다음 줄을 추가해 보세요.

메타데이터_만료=1분

다음 명령은 추가 정보를 보여줍니다.

남자 yum.conf

참고하세요. CentOS 5에는 주석 처리된 매개변수가 있습니다. CentOS 6.2의 값은 90m입니다.

답변3

yum clean metadata캐시된 이름 등을 정리한 후 yum은 사용 가능한 항목에 대한 아이디어를 다시 로드합니다.

답변4

yum의 --enablerepo=localrpmrepo가 ​​당신이 따르는 옵션입니다. 그래서

yum --enablerepo=localrpmrepo clean metadata

localrpmrepo를 저장소 이름으로 바꾸십시오.

관련 정보