En ocasiones la BBDD interna de YUM Queda corrompida por mala estructura de los RPM’s por lo que no se terminan de liberar los procesos internos para construir/reconstruir su BBDD.
Este es un ejemplo de error que puede aparecer cuando tratamos de actualizar:
[root@srv01 ~]# yum update
error: rpmdb: BDB0113 Thread/process 10814/140419017918272 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
Para solucionar el error y ejecución, es tan sencillo como eliminar los ficheros temporales así como reconstruir la BBDD. Este proceso no es disruptivo ni provoca anomalia alguna ya que lo que forzaremos es siempre reconstruir por lo que quedará limpia para su próxima ejecución::
[root@srv01 ~]# mkdir /var/lib/rpm/backup
[root@srv01 ~]# cp -a /var/lib/rpm/__db* /var/lib/rpm/backup/
[root@srv01 ~]# rm -f /var/lib/rpm/__db.[0-9][0-9]*
[root@srv01 ~]# rpm --quiet -qa
[root@srv01 ~]# rpm --rebuilddb
Si forzamos una nueva ejecución, veremos que YUM vuelve a ser funcional:
[root@srv01 ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base epel extras updates
Cleaning up list of fastest mirrors