Error: rpmdb open failed

Update 2024:A RedHat possui detalhes registrados no site https://access.redhat.com/solutions/3330211.


A mensagem de erro Error: rpmdb open failed surge quando você digita o comando ‘yum clean all’ e representa um problema no sistema de gerenciamento de pacotes RPM. Veja como resolver.

Mensagem de erro

error: rpmdb: BDB0113 Thread/process 3713466/139982950463296 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 - (-30973)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

Error: rpmdb open failed

Correção

Provavelmente você já estará conectado ao SSH como usuário root, mas não custa reafirmar: você precisará estar logado no SSH com usuário root (ou com algum usuário com permissão de executar o comando sudo).

Backup do banco de dados rpm:
mv /var/lib/rpm/__db* /tmp
Agora, execute o comando abaixo:
yum clean all
Execute o comando para atualizar o sistema:
yum -y update
Limpando a bagunça:
rm -i /tmp/__db*

Modo ultra rápido (opção):

rpm --rebuilddb

Pronto!
Agora você poderá continuar utilizando o gerenciador de pacotes RPM em seu servidor Linux.