Artigos > Rebuild do RPM database

504 Views
Tempo de leitura: 1 Minuto
Atualizado em:

O corrompimento do banco do RPM para Redhat e Redhat Like é de certa forma incomum, mas sabe-se que pode ocorrer.

Trabalho com servidores Redhat e Centos à anos e presenciei esse incidente em duas ou em três oportunidades.

O sintoma pode ser, por exemplo, a não identificação de pacotes instalados. Vejamos o exemplo abaixo:

[root@hostname][~]# rpm -qa | grep httpd
rpmdb: Lock table is out of available locker entries
rpmdb: Unknown locker ID: f2d62
error: db4 error(22) from db->close: Invalid argument
error: cannot open Packages index using db3 - Cannot allocate memory (12)
error: cannot open Packages database in /var/lib/rpm

Para resolver é simples.

1 – Primeiro, entre no /var/lib/rpm e faça um backup dos arquivos “__db.000”, “__db.001”, “__db.002” e “__db.003”. O armazene em um local seguro.

cd /var/lib/rpm
tar cf rpmdbs.tar __db*
mv rpmdbs.tar /defina/um/path/seguro

2 – Agora remova os arquivos:

rm -f __db*

3 – Faça o rebuild do database:

rpm --rebuilddb

Pronto! Para testar, basta checar a existência de algum arquivo no sistema:

rpm -q httpd
0 - 0

Thank You For Your Vote!

Sorry You have Already Voted!