yum Erro: falha na abertura do rpmdb

41

Estou tentando executar yum update e estou executando este erro:

rpmdb: PANIC: fatal region error detected; run recovery
error: db3 error(-30974) from dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 - (-30974)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

Error: rpmdb open failed

Eu verifiquei a página como esta mas executando yum clean all executa o mesmo erro.

Como posso resolver isso?

    
por Alex Jolig 25.04.2015 / 17:40

4 respostas

81

Foi assim que consertei meu problema.

Esta é uma situação bastante confusa. Você pode consertar isso limpando o banco de dados do rpm. Para minimizar o risco, faça um backup dos arquivos no comando /var/lib/rpm/ using cp :

mkdir /root/backups.rpm.mm_dd_yyyy/
cp -avr /var/lib/rpm/ /root/backups.rpm.mm_dd_yyyy/

Para corrigir este problema, tente:

# rm -f /var/lib/rpm/__db*
# db_verify /var/lib/rpm/Packages
# rpm --rebuilddb
# yum clean all

Verifique se o erro ocorreu com o seguinte comando yum

# yum update
    
por 25.04.2015 / 17:40
0

Obrigado Alex, sua resposta funcionou para mim além de uma pequena mudança que eu tive que fazer.

rm -f /var/lib/rpm/__db*

retornou erros

rm: cannot remove '/var/lib/rpm/__db.001': Is a directory
rm: cannot remove '/var/lib/rpm/__db.002': Is a directory
rm: cannot remove '/var/lib/rpm/__db.004': Is a directory

então eu tive que recorrer com

rm -rf /var/lib/rpm/__db*
    
por 06.06.2015 / 22:18
0

Eu tentei o anterior, ele não funcionou

abaixo funciona bem

# cd /var/lib
# tar -zcvf /var/preserve/rpmdb-$(date +%Y-%m-%d_%H-%M-%S).tar.gz rpm

Nota: Este backup tar pode ser usado se a tentativa de recuperar o banco de dados RPM tiver problemas.

Verifique a integridade do arquivo Packages:

# cd /var/lib/rpm
# rm -f __db*      # to avoid stale locks
# /usr/lib/rpm/rpmdb_verify Packages

# mv Packages Packages.orig
# /usr/lib/rpm/rpmdb_dump Packages.orig | /usr/lib/rpm/rpmdb_load Packages


# rpm -vv --rebuilddb

Mais uma vez, verifique o banco de dados RPM:

# cd /var/lib/rpm
# /usr/lib/rpm/rpmdb_verify Packages
    
por 16.04.2018 / 09:30
0

Tudo o que eu tinha que fazer era apagar os dois arquivos com a extensão ".lock" e os três arquivos que começaram com "__db".

# rm /var/lib/rpm/.dbenv.lock
# rm /var/lib/rpm/.rpm.lock
# rm /var/lib/rpm/__db*

Depois disso, yum update funcionou.

    
por 17.01.2019 / 20:00

Tags