rpmdb: Lock table is out of available locker entries

El sistema de paquetería basado en RPM, guarda una pequeña base de datos Berkeley que en algunas ocasiones puede fallar de forma estrepitosa y dejar el sistema de paquetería inservible. Por defecto, tanto en sistemas RedHat como en sistemas Debian, la gestión de paquetes se hace bloqueando el acceso exclusivo, para que dos procesos diferentes no puedan hacer operaciones simultáneas y dejar el sistema en un estado inconsistente. Por ejemplo, instalar software incompatible entre sí.
La base de datos rpmdb en algunas ocasiones puede darse el caso de que si en medio de la instalación se cancela el proceso, ésta se corrompa y por lo tanto el sistema de paquetería quede inservible. El error que se obtiene es el siguiente,
rpmdb: Lock table is out of available locker entries
error: db4 error(22) from db->close: Invalid argument
error: cannot open Packages index using db3 - Cannot allocate memory (12)
error: cannot open Packages database in /var/lib/rpm
La solución es bastante simple, pero la verdad, es que la primera vez que sucede, asusta un poco. Vamos por lo tanto a arreglar el fallo que hemos provocado ;-)
  1. Copia de seguridad de las bases de datos actuales
    shell> cp -r /var/lib/rpm /var/lib/rpm.old
    
  2. Borrado de las base de datos actuales
    shell> rm /var/lib/rpm/__db.00*
    
  3. Regeneramos la base de datos de información RPM
    shell> rpm --rebuilddb
    
  4. Comprobamos que todo está correcto
    shell> rpm -qa | sort
    
    1. Borramos la copia de seguridad creada en el punto 1
      shell> rm -rf /var/lib/rpm.old
      


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios