Este erro error: rpmdb: BDB0113 Thread/process
ocorre quando é executado dnf ou yum e indica que o banco de dados do seu gerenciador de pacotes RPM está bloqueado ou corrompido.
Isso geralmente acontece quando:
- um processo de gerenciamento de pacotes (como
yum
,dnf
ou o própriorpm
) é interrompido de forma inesperada — por exemplo, se o sistema travou, o processo foi finalizado à força (kill
) ou houve uma queda de energia. - falta de espaço em disco.
- outros..
Quando isso ocorre, arquivos de “lock” (travamento) podem ser deixados para trás, impedindo que qualquer outro processo de pacotes acesse o banco de dados.
Como Resolver (Passo a Passo)
Siga estes passos com atenção. Você precisará de permissões de superusuário (root
) para executar os comandos. Use sudo
antes de cada comando, se necessário.
Passo 1: Verifique se não há processos do YUM/DNF em execução
Antes de apagar qualquer arquivo, certifique-se de que nenhum gerenciador de pacotes esteja realmente rodando em segundo plano.
Se este comando retornar algo além do próprio comando grep
, significa que um processo está ativo. Espere ele terminar ou, se tiver certeza de que está travado, finalize-o com kill <ID_DO_PROCESSO>
. Se o comando não retornar nada, você pode prosseguir.
Passo 2: Remova os arquivos de lock do banco de dados
Os arquivos de lock são os causadores do bloqueio. Eles geralmente começam com __db
no diretório do RPM.
Execute o seguinte comando como root
:
O que este comando faz:
rm -f
: Remove (rm
) forçadamente (-f
) os arquivos especificados, sem pedir confirmação./var/lib/rpm/__db.*
: O caminho para os arquivos de lock do banco de dados RPM. O*
garante que todos os arquivos que começam com__db.
sejam removidos.
Passo 3: Reconstrua o banco de dados do RPM
Depois de remover os arquivos de lock, o banco de dados pode estar em um estado inconsistente. O próximo passo é reconstruí-lo para corrigir quaisquer problemas.
Execute o seguinte comando como root
:
O que este comando faz:
rpm --rebuilddb
: Lê os cabeçalhos de todos os pacotes que você tem instalados e cria, do zero, um novo banco de dados limpo e funcional. Este processo é seguro e não remove nenhum pacote instalado.
Passo 4: Limpe o cache do gerenciador de pacotes (Recomendado)
Para garantir que tudo funcione corretamente, é uma boa prática limpar o cache do seu gerenciador de pacotes (yum
ou dnf
).
Se você usa um sistema baseado em CentOS/RHEL 7 ou mais antigo (que usa yum
):
Se você usa um sistema baseado em Fedora, CentOS/RHEL 8 ou mais novo (que usa dnf
):
Resumo
Em 99% dos casos, a sequência de comandos abaixo, executada como root
, resolverá o problema:
Após executar esses passos, tente usar o yum
, dnf
ou rpm
novamente. O erro deverá ter desaparecido.