Ontem, comecei a testar alguns servicos em execucao no Amazon Linux 2 na nuvem Amazon Web Services. Por algum motivo, meu gerenciador de pacotes yum estava quebrado e quando comecei a atualizar meu banco de dados yum, recebi um erro sobre rpmdb open failed. Voce pode ver meu erro abaixo. Se voce esta rodando CentOS7 ou outra distro Linux que usa o yum como gerenciador de pacotes, tambem pode continuar lendo.

error: rpmdb: BDB0113 Thread/process 18275/140171317404864 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

Decidi mover todos os pacotes do banco de dados rpm para o diretorio /tmp.

sudo mv /var/lib/rpm/__db* /tmp

Apos esta movimentacao, o yum deve estar completamente limpo. Eu executo "yum clean all" para limpar meu banco de dados yum.

sudo yum clean all

Apos o processo de limpeza, o yum me disse que a limpeza foi concluida.

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Repository elastic-7.x is listed more than once in the configuration
Bad id for repo: root@ip-11-12-30-149 yum.repos.d, byte = @ 4
Cleaning repos: amzn2-core amzn2extra-epel elastic-7.x epel treasuredata
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos

Cruzei os dedos e tentei atualizar meu banco de dados yum com as versoes mais recentes dos pacotes. Para isso; executo o comando "sudo yum update".

sudo yum update

Agora, o yum esta rodando perfeitamente novamente!

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Repository elastic-7.x is listed more than once in the configuration
Bad id for repo: root@ip-11-12-30-149 yum.repos.d, byte = @ 4
amzn2-core                                                                      | 2.4 kB  00:00:00
amzn2extra-epel                                                                 | 1.3 kB  00:00:00
elastic-7.x                                                                     | 1.3 kB  00:00:00
epel/x86_64/metalink                                                            |  21 kB  00:00:00
epel                                                                            | 4.7 kB  00:00:00
treasuredata                                                                    | 2.9 kB  00:00:00
(1/9): amzn2-core/2/x86_64/group_gz                                             | 2.5 kB  00:00:00
(2/9): amzn2-core/2/x86_64/updateinfo                                           | 200 kB  00:00:00
(3/9): amzn2extra-epel/2/x86_64/primary_db                                      | 1.8 kB  00:00:00
(4/9): elastic-7.x/primary                                                      | 115 kB  00:00:00
(5/9): epel/x86_64/group_gz                                                     |  95 kB  00:00:00
(6/9): epel/x86_64/updateinfo                                                   | 1.0 MB  00:00:00
(7/9): epel/x86_64/primary_db                                                   | 6.8 MB  00:00:00
(8/9): amzn2-core/2/x86_64/primary_db                                           |  39 MB  00:00:00
(9/9): treasuredata/2/x86_64/primary_db                                         |  15 kB  00:00:00
elastic-7.x                                                                                315/315
192 packages excluded due to repository priority protections
No packages marked for update

Se voce esta tendo problemas de rpmdb com seu yum, pode facilmente seguir os mesmos passos e corrigir seu gerenciador de pacotes em um minuto.