rpm --upgrade do mesmo pacote fornece conflitos de arquivos

0

Eu instalei meu pacote personalizado contendo vários arquivos.

A execução de rpm --upgrade uma segunda vez gera muitos erros:

File ABC from install of mypackage-1.0-0.i386 conflicts with file from package mypackage-1.0-0.i386

O RPM sai com o código de erro 5.

Mas é o mesmo pacote com o mesmo número de versão! Não deveria dizer "já instalado" ou algo assim? O que eu preciso fazer para o comando spec file ou rpm upgrade para evitar este problema?

Em execução rpm --upgrade --replacefiles diz "pacote mypackage-1.0-0.i386 já instalado", com o código de saída 5

(Eu realmente não quero substituir os arquivos se eles não tiverem mudado ...

    
por Danny 31.05.2017 / 13:44

1 resposta

0

Você tem várias opções. O mais fácil é aumentar a versão e / ou o release quando você cria um novo pacote para que o comando rpm -U (upgrade) funcione normalmente. Se você não quiser fazer isso, use rpm -U --replacefiles --replacepkgs para reinstalar o pacote. Uma terceira opção é remover o pacote antes de instalar o "novo".

Em todos esses casos, todos os arquivos que fazem parte do paylod regular (ou seja, não estão marcados como noreplace config files) serão substituídos pelas versões mais recentes. É assim que funciona o RPM. Se você quiser percorrer o caminho de apenas atualizar as coisas que foram alteradas, precisará procurar gerar pacotes DRPM (Delta RPM), que contêm apenas diferenças de uma versão anterior. Isso exigirá que você incremente sua versão e / ou libere números quando for reconstruir. Eu nunca fiz pacotes delta RPM, então não posso oferecer nenhum conselho sobre eles.

    
por 31.05.2017 / 14:51

Tags