Como faço para que o yum veja as atualizações de um repositório local sem limpar o cache?

Como faço para que o yum veja as atualizações de um repositório local sem limpar o cache?

Eu configurei um repositório yum local que uso para instalar compilações de teste. Para fins de teste, meus pacotes são versionados por <svn version number>.<date>.<time>(por exemplo12345.20110908.150404

O problema é que, depois que eu faço um novo RPM, copio-o para o diretório do repositório e executo createrepo $REPO_DIR, o yum não vê o novo RPM como disponível.

$ 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

Posso ver as atualizações e obtê-las se executar yum clean alle buscar novamente os metadados, mas acho que isso significa apenas que preciso fazer outra coisa no repositório, já que não preciso fazer isso para outros repositórios yum.

Como preciso configurar meu repositório local para que eu só precise executar yum updatea partir do cliente sem precisar limpar meu cache do yum?

Responder1

Você pode executar "yum clean expire-cache", que é uma maneira muito mais eficiente de dizer ao yum para verificar os repositórios. ... a outra coisa a fazer seria alterar o valor metadata_expire do repositório local. (veja man yum.conf).

Responder2

Tente adicionar a seguinte linha em /etc/yum.conf em clientes Yum:

metadata_expire = 1 milhão

O comando a seguir mostra mais informações:

cara yum.conf

PARA SUA INFORMAÇÃO. CentOS 5 tem o parâmetro comentado. CentOS 6.2 tem 90m para o valor.

Responder3

yum clean metadatalimpa apenas os nomes em cache e outros itens, após o que o yum recarrega sua ideia do que está disponível.

Responder4

--enablerepo=localrpmrepo do yum é a opção que você procura. então

yum --enablerepo=localrpmrepo clean metadata

substitua localrpmrepo pelo nome do seu repositório

informação relacionada