테스트 빌드를 설치하는 데 사용하는 로컬 yum 저장소를 설정했습니다. 테스트 목적으로 내 패키지는 <svn version number>.<date>.<time>
(예 :12345.20110908.150404
문제는 일단 새 RPM을 만든 후이를 저장소 디렉토리에 복사하고 실행 createrepo $REPO_DIR
하면 yum이 새 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 repos에 대해 할 필요가 없으므로 repo에서 다른 작업을 수행해야 함을 의미한다고 생각합니다.
yum update
yum 캐시를 정리하지 않고 클라이언트 에서만 실행할 수 있도록 로컬 저장소를 어떻게 설정해야 합니까?
답변
“yum clean expire-cache”를 실행하여 yum에게 repos를 확인하도록 지시하는 훨씬 효율적인 방법입니다. … 할 다른 작업은 로컬 리포지토리의 metadata_expire 값을 변경하는 것입니다. (man yum.conf 참조).
답변
Yum 클라이언트의 /etc/yum.conf에 다음 줄을 추가하십시오.
metadata_expire = 1m
다음 명령은 더 많은 정보를 보여줍니다.
남자 yum.conf
참고로 CentOS 5에는 매개 변수가 주석 처리되어 있습니다. CentOS 6.2의 가치는 90m입니다.
답변
yum clean metadata
캐시 된 이름 만 정리하면 yum은 사용 가능한 항목에 대한 아이디어를 다시로드합니다.
답변
같은 문제가 발생했습니다.
clean 모두 청소
답변
yum ‘s –enablerepo = localrpmrepo는 옵션입니다. 그래서
yum --enablerepo=localrpmrepo clean metadata
localrpmrepo를 repos 이름으로 바꾸십시오