Como o Banco de Dados RPM geralmente fica corrompido?

5

Estamos automatizando alguns scripts de implantação que desinstalam / instalam os RPMs. Eu vi em mais de um dos nossos hosts que o rpm -qa retorna algo como:

# rpm -qa | grep tcl
tcl-8.5.7-6.el6.x86_64
tcl-8.5.7-6.el6.x86_64
tcl-8.5.7-6.el6.x86_64
tcl-8.5.7-6.el6.x86_64
tcl-8.5.7-6.el6.x86_64
tcl-8.5.7-6.el6.x86_64

Como isso acontece usando rpm -e e rpm -i? E existe uma maneira de evitar isso? Se eu rodar o rpm -e nesse caso, eu obtenho

# rpm -e tcl-8.5.7-6.el6
error: "tcl-8.5.7-6.el6" specifies multiple packages:
  tcl-8.5.7-6.el6.x86_64
  tcl-8.5.7-6.el6.x86_64
  tcl-8.5.7-6.el6.x86_64
  tcl-8.5.7-6.el6.x86_64
  tcl-8.5.7-6.el6.x86_64
  tcl-8.5.7-6.el6.x86_64

Então eu tive que usar os -vv --allmatches --nodeps --noscripts --notriggers switches

    
por Anon 24.10.2012 / 21:26

2 respostas

1

Anon,

Você está em posição de experimentar rpm --rebuilddb , se ainda não o fez?

link

Alternativamente, você está em condições de usar yum install , em vez de rpm ? Yum geralmente cuidará melhor do seu banco de dados.

    
por 25.10.2012 / 01:42
0

Apenas para responder como evitar isso (e adicionar a outra resposta) s, em scripts automatizados eu corro dcrpm ( link ) antes de instalar o software, você instala com pip install dcrpm ... Geralmente ajuda com muitos problemas que tenho

    
por 09.02.2018 / 07:00

Tags