Como obtenho o yum para ver atualizações de um repositório local sem limpar o cache?

18

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

O problema é que, depois de criar um novo RPM, copiá-lo para o diretório do repositório e executar 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

Eu posso ver as atualizações e pegá-las se eu executar yum clean all e, em seguida, recuperar os metadados, mas acho que isso significa que preciso fazer outra coisa no repositório, já que não preciso fazer isso isso para outros yum repos.

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

    
por Matt 09.09.2011 / 00:12

5 respostas

23

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

    
por 29.09.2011 / 15:08
10

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

metadata_expire=1m

O comando a seguir mostra mais informações:

man yum.conf

FYI. O CentOS 5 tem o parâmetro comentado. O CentOS 6.2 tem 90m para o valor.

    
por 20.04.2012 / 05:26
3

yum clean metadata limpa apenas os nomes em cache e, depois disso, o yum recarrega sua ideia do que está disponível.

    
por 16.01.2013 / 15:21
0

Acabou de ter o mesmo problema, tente:

yum clean all

    
por 03.04.2013 / 02:59
0

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

yum --enablerepo=localrpmrepo clean metadata

substitua o localrpmrepo pelo seu nome de repositório

    
por 30.05.2014 / 22:09