La verdad es que después de más de un año usando Debian es la primera vez que tengo un error al usar aptitude, así que me puse manos a la obra y buscando en Google encontré la solución a mi problema
La cuestión es que tras hacer un
aptitude safe-upgrade
y en medio de los mensajes que suelen salir me apreció lo siguiente
Necesito descargar 0B de ficheros. Después de desempaquetar se usarán 0B.
Traceback (most recent call last):
File "/usr/bin/apt-listchanges", line 227, in ?
main()
File "/usr/bin/apt-listchanges", line 148, in main
seen.close()
File "/usr/lib/python2.4/bsddb/__init__.py", line 237, in close
v = self.db.close()
bsddb.db.DBRunRecoveryError: (-30975, 'DB_RUNRECOVERY: Fatal error, run database recovery -- PANIC: fatal region error detected; run recovery')
Leyendo lista de paquetes... Hecho
¿Pero que es esto
?
Está claro que tengo un problema con una base de datos, pero ¿cual
?
Gracias a San Google veo que el problema ya ha sido informado a los desarrolladores de Debian. Por lo que entiendo, parece ser que el problema puede venir con una biblioteca para los ejecutables que usen las base de datos Berkeley. No me entero muy bien, pero parece ser que al cambiar la versión de la dichosa biblioteca se producen problemas de compatibilidad al usar bases de datos creadas con versiones anteriores de la misma biblioteca.
Por otro lado tengo otro ordenador con Lenny y al actualizar no me ha dado nigún error, así que puede también que el problema sea simplemente que la base de datos se me ha fastidiado sin más.
No obstante, y sea lo que sea, en el enlace las opciones que dan para arreglar el error no son demasiado simples, así que continuo buscando por internet y encuentro una solución más sencilla y “elegante”.
La cuestión es que la base de datos que da problemas se encuentra en /var/lib/apt, así que allí nos dirigimos con:
cd /var/lib/apt
La base de datos en cuestión es la de cambios en aptitude “listchanges.db”. Lo que desconocía en absoluto es que está realizada con este tipo de base de datos. Todos los días son días de aprender, al menos con Debian
.
Una vez allí cambiamos el nombre de la base de datos, o la borramos. Yo prefiero hacer lo primero, por si hay problemas poder volver al fichero original. Para cambiar el nombre hacemos
mv listchanges.db listchanges.db.error
A continuación, y al hacer un aptitude safe-upgrade, por ejemplo, al no encontrar la base de datos la crea de nuevo y no nos aparece más el error.
Además de sencilla la solución me parece más útil porque hemos creado la nueva base de datos con la nueva versión de las librerías, por lo que, hasta la próxima, no tendremos más problemas.
Artículos relacionados
Ningún usuario han respondido a esta entrada
Dejar un comentario
Atención: La moderación de comentarios puede estar activa, por lo tanto no es necesario que vuelva a enviar su comentario