Problemas con RPM: "Fatal error, run database recovery"

Hoy estaba tratando de desinstalar algunos paquetes que ya no uso en mi Fedora Core 6, pero algo no salió bien:

[christian@localhost ~]$ sudo rpm -e beagle beagle-gui kerry
rpmdb: page 52: illegal page type or format
rpmdb: PANIC: Argumento inválido
error: db4 error(-30977) from dbcursor->c_get: DB_RUNRECOVERY: Fatal error, run database recovery
(... muchos errores más ...)

Al parecer, la base de datos de RPM se corrompió, lo que me impedía instalar o eliminar programas mediante RPM o yum.

Después de un par de minutos de googlear, encontré una solución: reconstruir la base de datos de RPM. El proceso es:

su -
cd /var/lib/rpm
rm -f __db.*
rpm --rebuilddb
exit

Con esto el sistema volvió a su funcionamiento normal.

¿Por qué se produjo esta falla? Tal vez alguno de los paquetes RPM que desinstalé estaba mal construído, o quizás alguna de las actualizaciones de yum no se completó correctamente. Lo cierto es que el sistema RPM presenta varios problemas que no han sido solucionados en bastante tiempo, debido a algunos problemas con el desarrollador principal (hubo serias diferencias entre él y Red Hat en cuanto a la forma de llevar adelante el proyecto). En la práctica, cada distribución que usa RPM mantiene su propio conjunto de parches que son aplicados a la versión "oficial" de RPM.

La buena noticia es que Red Hat por fin está trabajando en crear una comunidad alrededor de RPM que incluya no sólo a Red Hat y Fedora, sino también a SUSE, Mandriva, CentOS, etc. La idea es poder hacer de RPM un proyecto realmente mantenido por la comunidad, lo que sin duda beneficiará a todos.

Más información en rpm.org.

Comentarios

Anónimo dijo…
Christian, necesito tu ayuda, disculpa que sea cara de palo pero me han aparecido errores en el "smart"· y necesito reemplazar el disco duro (la idea es clonar)lo antes posible, dime a donde te llamo.

tengo un kilo de preguntas para hacerte

creo que mi nombre te va a sonar un poco (espero)

bernardo.lopez@ejercito.cl

saludos y gracias
Anónimo dijo…
Si todos tus post son para solucionar problemas y le pones tu toke para q paresca como q tu solucionaste la guea , si te la pasas haciendo copy paste desde google hacia tu blog , PQ
MEJOR NO PONES UN LINK HACIA GOOGLE WEON CHANTA , PENCA Y FEO (lo ultimo es discutible las anteriores son verdades biblicas) ajajaj
Tiger dijo…
Muy lindo blog.
Salu2 desde TecnoExpertise

Entradas más populares de este blog

Actualizar información de zona horaria en Java

Una nueva amiga: Ibanez Artcore AFS75T

Replicando el funcionamiento de "Antorcha" con herramientas públicamente disponibles