Solución al Error rpmdb: «Thread died in Berkeley DB library»

Cuando se trabaja con la administración de paquetes en sistemas Linux, como CentOS, AlmaLinux, RockyLinux y otros derivados, es posible que se encuentren errores relacionados con la base de datos RPM. Si alguna vez ha enfrentado un mensaje de error similar a este:

[root@stackscale ~]# dnf upgrade
error: rpmdb: BDB0113 Thread/process 696734/140351699974016 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: no se puede abrir la base de datos Packages en /var/lib/rpm
Error: Error: rpmdb open failed

Es un indicativo claro de que la base de datos RPM está corrompida. Este tipo de problemas puede surgir debido a diversas razones, pero la buena noticia es que tienen solución.

Solución al problema

Para solucionar este problema, es necesario realizar una copia de seguridad y luego reconstruir la base de datos rpmdb. A continuación, se describen los pasos que el usuario debe seguir:

  1. Crear un directorio de respaldo: Antes de realizar cualquier acción, es esencial asegurarse de que no se pierdan datos. Por ello, primero se crea un directorio para almacenar las copias de seguridad:

mkdir /var/lib/rpm/backup

  1. Copiar los archivos relevantes al directorio de respaldo: Con este comando, se asegurará de mantener una copia de los archivos de la base de datos en caso de cualquier eventualidad:

cp -a /var/lib/rpm/__db* /var/lib/rpm/backup/

  1. Eliminar archivos antiguos: Con el siguiente comando, eliminará los archivos antiguos que puedan estar causando el problema:

rm -f /var/lib/rpm/__db.[0-9][0-9]*

  1. Verificar el estado de los paquetes: Esta acción es principalmente para comprobar que todo esté en orden:

rpm --quiet -qa

  1. Reconstruir la base de datos: Con este comando, iniciará el proceso de reconstrucción de la base de datos:

rpm --rebuilddb

  1. Limpiar el repositorio YUM: Finalmente, como buen protocolo de mantenimiento, limpie el cache del repositorio:

yum clean all

Tras seguir estos pasos, la base de datos rpmdb debería estar funcionando correctamente, y los errores previamente mencionados no deberían volver a aparecer. Es importante recordar siempre hacer copias de seguridad y actuar con precaución al realizar cambios en el sistema.

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio
×