Anon,
Você está em posição de experimentar rpm --rebuilddb
, se ainda não o fez?
Alternativamente, você está em condições de usar yum install
, em vez de rpm
? Yum geralmente cuidará melhor do seu banco de dados.
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
Anon,
Você está em posição de experimentar rpm --rebuilddb
, se ainda não o fez?
Alternativamente, você está em condições de usar yum install
, em vez de rpm
? Yum geralmente cuidará melhor do seu banco de dados.
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