Versões posteriores dos RPMs não disponíveis através do repositório personalizado do yum

3

Eu criei um repositório personalizado seguindo este guia .

Os arquivos estão sendo exibidos via http (nginx). Eu tenho cd no diretório para criar os metadados com createrepo . . Eu posso instalar um pacote através do yum do meu repositório personalizado; até agora, tudo bem.

Agora, quero ver como um processo de atualização pode funcionar. É nesse ponto que estou tendo problemas. Meu primeiro pacote, que eu instalei com sucesso, é de build-utils-20130930-62.noarch.rpm

Então eu crio um novo pacote build-utils-20131001-63.noarch.rpm , em seguida, no diretório repo sudo createrepo --update . . Agora eu tento sudo yum --nogpgcheck install build-utils , o resultado

Package build-utils-20130930-62.noarch already installed and latest version

Eu tentei instalar a nova versão com uma chamada mais explícita para o yum

sudo yum --nogpgcheck install build-utils-20131001-63

o resultado

No package build-utils-20131001-63 available.

Decidido a cavar no arquivo filelists.xml para ver se a atualização funcionou, e com certeza

<package pkgid="c12eb685ebfedf4dd3155d0910517f3eb208dac09cc36b9e971541f038a4590d" name="build-utils" arch="noarch">
    <version epoch="0" ver="20131001" rel="63"/>

Então, eu até tentei remover completamente a versão atual

yum remove build-utils

Agora vou instalar do zero

sudo yum --nogpgcheck install build-utils

yum me oferece a versão 62 ainda! Eu até tentei limpar o cache do yum su -c 'yum clean headers' sem sucesso.

Como faço para disponibilizar minhas novas versões do repositório personalizado?

    
por quickshiftin 01.10.2013 / 23:45

2 respostas

2

Tente:

yum clean all

yum -y update build-utils

O repolist é armazenado em cache no host do seu cliente yum.

"Limpe todos os arquivos em cache de qualquer repositório ativado. Útil para executar de tempos em tempos para garantir que não haja nada usando espaço desnecessário." [ 1 ]

    
por 01.10.2013 / 23:57
0

Eu já aceitei a resposta do @dmourati, e vou deixar assim, no entanto, a solução final foi uma mudança no meu arquivo de configuração do repositório para não armazenar em cache neste repositório.

[customrepo]
name=Custom Repository
baseurl=http://custom/$basearch
enabled=1
metadata_expire=0

Observe a última linha (obrigado novamente @dmourati!). Desta forma, eu nunca tenho que executar qualquer tipo de yum clean , e o cache ainda está em vigor para todos os outros repositórios.

O motivo pelo qual estou desativando o armazenamento em cache neste repositório é que esses pacotes de aplicativos proprietários serão criados com frequência. Talvez na produção eu permita algum armazenamento em cache, mas teremos que ver como as coisas se configuram com o sistema de compilação / implementação.

    
por 02.10.2013 / 00:47