A resposta é não tão simples quanto colar um RPM com uma nova revisão no repositório.
Existem coisas a serem feitas no lado do servidor e no lado do cliente.
Lado do servidor
- Copiar RPM para repo
- cd / caminho / para / repo (vamos supor / var / www / html / repo)
-
%código%
Isso atualizará o banco de dados do repositório para incluir o novo RPM
-
%código%
Isso tornará o novo RPM visível
Lado do cliente
-
sudo createrepo --update .
Isso eliminará todas as informações em cache relacionadas ao repositório.
-
sudo chmod -R ugo+rX /var/www/html/repo/
Agora você deve ver que a versão mais recente do rpm está disponível.
-
sudo yum clean all
Você deve estar atualizado.
Fiquei muito frustrado com todas as respostas (aqui, ali e em todos os lugares) que encobriram todos esses detalhes. Qualquer pessoa que passar pelo processo de criação de um repositório com atualizações vai testá-lo. O teste será assim:
Lado do servidor, Adicionar novo RPM ao repositório, executar createrepo, alterar permissões
Lado do cliente, yum -y instala o rpmname.
Usuário, "Legal funcionou. Agora vamos tentar fazer e atualizar."
Lado do servidor, Adicionar RPM com revisão mais recente, executar createrepo, alterar permissões
Lado do cliente, yum -y atualiza nome do rpm, "Nenhum pacote marcado para atualização"
Usuário, "O que o #?! @ Acabei de seguir todas as instruções que encontrei na web e isso não funcionou!"
No lado do cliente, o yum armazenará em cache informações sobre o repositório, incluindo a versão mais recente disponível. Da próxima vez que o cliente executar um comando sudo yum info rpmname
ou sudo yum -y update rpmname
, o yum não voltará à Internet e verificará o repositório. Yum usará a versão em cache do repositório.