16 abr. 2006

"El paquete está en un estado muy malo e inconsistente" eso era lo que me decía el apt-get o el dpkg cuando intentaba eliminar una aplicación que instalé llamada "facturlinex" que instalé con un .deb que descargue en la pagina oficial, en si el mensaje completo era del "dpkg -r" era "El paquete está en un estado muy malo e inconsistente - debe reinstalarlo antes de intentar desinstalarlo." pero obviamente al reinstalarlo no cambiaba nada. Y bueno, ese no era tanto el problema, sino que de alguna forma estaba trancado todo el sistema "apt" y cada vez que intentaba instalar algo o simplemente utilizar "apt-get" se trancaba diciendo "El paquete facturalux necesita ser reinstalado, pero no se encuentra un archivo para éste." (cosa que aun no entiendo como asi de que no encuentra un archivo para este, pero bueno) me decía que habían problemas con el dichoso "facturlinex" Después de leerme de pie a cabeza los man de apt-get, dpkg, aptitude y todo lo relacionado que encontre, intentar mandando a hacer las cosas a la fuerza (como aveces funciona ;-p ) e intentar todo lo que se me ocurrió, el problema continuaba. Como respuesta a mis frustraciones y como buen Venezolano, le heche la culpa a kubuntu, me meti en distrowatch.com a buscar entonces mi próxima distribución jeje. [Acostumbrado al mundo micro$oft en donde la mayoría de las veces la solución mas simple es formatear todo e instalar de nuevo, no es fácil perder las malas mañas ;-) ]

Pero no, en realidad no me gustaba la sensación de sentir que un problemita asi fuese capaz de hacerme volver a instalar todo mi querido sistema GNU/Linux, en ves de frustrarme lo vi como un reto, y a pesar de que no encontraba casi nada de ayuda en internet, ni foros ni nada, me senté entonces a enfrentar mi reto, y además: ¿que mejor momento para aprender sobre como funciona en realidad todo el sistema apt? Asi tuviera que hacerlo a pata, así lo haría. (además no podía andar formateando, porque estoy ayudando a un profesor con una tesis basada en la plataforma de enseñanza Moodle, y mejor dejar el servidorsito tranquilito y funcionando).

Después de un poco de análisis y algo de investigación, (ni que fuese tampoco tan profunda la cosa jejeje) encontré y logre lo siguiente:

En un principio lo mas directo parecia simplemente borrar todo lo que dijera facturlinex de /var/lib/apt/lists, pero voy a resumir en si como era el problema, pero no tienen idea de todas las vueltas que se le podian dar:

Una de las cosas mas útiles que pude hacer fue abrir el .deb y revisarlo. Resulta que entre otras cosas, trae 2 archivos, uno "facturlinex.postinst" y uno "facturlinex.postrm" resulta que son scripts de shell y se ejecutan durante la instalación del .deb. "Hay Papá" Alli radicaba mi problema, los condenados scripts mandaban a reiniciar mi mysql y adivinen, ¡Yo no tengo mysql! (ahorita tengo es lampp :-p), la plataforma de facturación se basa en mysql, [¿Les costaba mucho poner eso en alguna parte en la documentación?] (ok tengo que admitir que no me lei tampoco ningun manual antes de instalarlo, planeo hacerlo mas seguido, en realidad creo que los scrips me habrian ahorrado un poco de trabajo a la hora de reiniciar el servidor y demás, pero en mi caso me volvio chicha mi querido sistema apt) bueno, ya habiendo encontrado entonces los scripts que mas o menos me parecian los culpables de todo, descomprimi el .deb en una carpeta (usando ark en konqueror) modifique (basicamente los deje casi en blanco jeje) y guarde en tar.gz para luego lo converti de nuevo a .deb con "sudo alien -d facturalinex.tar.gz" todo super bien, despues de un par de golpes me di cuenta que lo mas inteligente era ponerle exactamente el mismo nombre del .deb original y le di instalar de nuevo, despues de unos 15 segundos de suspenso la linea "Configurando facturlinex ..." me decia que todo habia salido bien :-D, luego entonces de una vez, "dpkg -r facturlinex", pero ERROR, se me olvido dejar en blanco tambien el "facturalinex.postrm" que es el script que se ejecuta cuando uno manda a desinstalar el programa. Pero entonces prove el sistema apt y ESTABA FUNCIONANDOO :-D, me acabo de dar cuenta que ni siquiera elimine el facturalinex jeje, a ver.... Desinstalando facturlinex ... ok listo, todo excelente.

Con el sistema apt y dpkg de nuevo a la normalidad (ahora si los valoro jejeje ;-p ) espero que esto sirva para cualquier persona que llegue a tener el mismo problema o similar.

5 comentarios:

administrador dijo...

Tengo un problema exactamente igual al que usted describe pero en un dot.station, voy a hacer lo que indica que de seguro es la solucion mil gracias por tan valioso aporte.

arde dijo...

hola carlos. me parece muy atinada la solucion. yo en linux tengo apenas varios meses y la verdad tengo el mismo problema con facturlinex, si pudieras traducirme todos los pasos desde cero estaria muy agradecido . mi email :ardeander@gmail.com suerte y hasta pronto.

C dijo...

¡Que tal!, Gracias por tu comentario, tenía un problema similar con python-xml, decía que el subproceso post-instalacion script devovio tal codigo de error, fui a /var/lib/dpkg/info busque el python-xml.postins y el .prerm, comente todas las lineas de los archivos (si, fue muy brusco) pero solo entonces me permitió su reinstalación, gracias a tu blog y a otro lugar en la red (donde leí lo de comentar estos scripts) pude destrabar el APT, Synaptic, etc.

kolton dijo...

Saludos.
Tengo el mismo problema que tuviste tu con facturlinex, pero soy novato y no tengo mucha idea de linux. Me podrias decir paso a paso, como lo hiciste. No se donde encontrar el .deb ni como editarlo y claro, luego tampoco se que quitar, en fin todo.
gracias

Anónimo dijo...

Hola! Podrias ser mas especifico? Es que soy novato! je Gracias!