viernes, 28 de junio de 2013

Scripts de post-desinstalación

Parece que he aumentado bastante el «caudal» de entradas en éste blog, a pesar de que no lo lee ni el tato, pero tampoco hace falta. Precisamente una de las premisas de un buen blog es escribir lo que te guste y/o apetezca cuando quieras o puedas, casi como si escribieses para ti mismo. A alguien siempre le interesará y si el destino es terminar ser conocido ampliamente es un bonus al que no se le debería dar importancia para continuar siendo fiel a uno mismo.


Así, he hecho autobombo de algunas de mis entradas en menéame pasando sin pena ni gloria, contando también que la calidad de las entradas es bastante variable. Tampoco es que las visitas obtenidas mediante dicho sitio sean de «calidad», entendiéndose por calidad que vuelvan a visitarte una cantidad elevada o lean otras entradas a raíz de la publicada, ya que pasa con otros sitios con buenas entradas. Del aluvión de clics sólo una mínima parte queda, que a lo largo del tiempo también se reduce más.

Dicho esto, porque me apetecía escribirlo y no tenía chicha para hacer una entrada separada de esas que gustan tanto a la gente, de reflexión concienzuda y gafapásticamente inteligentuosa, paso a realizar un pequeño apunte sobre como solucionar un pequeño problema que me ha surgido al querer desinstalar una serie de paquetes en la Ubuntu 13.04 que tengo instalada en el ordenador de sobremesa (actualizándose desde Ubuntu 10.04 lanzamiento tras lanzamiento, eso hacen 6 dist-upgrades seguidos).

Los paquetes que quería desinstalar eran todos los relacionados con apache, así que decidí purgar el apache2.2-bin. Sin embargo también tenía instalado xplico. Xplico usa en su script de post-remove (post-desinstalación) la orden apache2ctl, y Xplico depende de Apache, por lo que al desinstalar Apache se pasa a desinstalar Xplico, y entonces es cuando viene la guasa, porque al ejecutar el script de limpieza Xplico pretende reiniciar el servidor Apache que ya no existe y por tanto el script termina con error y deja el paquete roto.

Para solucionar el problema podemos hacer dos cosas: volver a instalar Apache y desinstalar primero xplico y luego apache o bien modificar el script para que no dé error y purgar xplico.

Así, pasamos a editar el script  en /var/lib/dpkg/info/xplico.postrm  y eliminamos la línea donde se llama a apache2ctrl restart.
Seguidamente purgamos con aptitude el paquete y ya tendremos  nuestra colección de paquetes limpia y sin rastro de los archivos de xplico. Otras soluciones mentadas por Internet en caso de encontrarte con un error parecido es eliminar el paquete de la lista de instalados, algo nada recomendable ya que nos deja a nosotros la tarea de buscar todos los archivos y eliminarlos manualmente, nada agradable desde luego, por mucho que pretendamos automatizarlo.

Para darnos cuenta de qué fallaba bastaba precisamente con mirar el error que devolvía aptitude al tratar de desinstalar el paquete, lo que pasa es que está en medio de otros cuantos mensajes de información por lo que hasta que te das cuenta de lo que pasa realmente quizá te ha dado por probar otras cosas primero que suelen funcionar a la primera y sin más complicación.

No hay comentarios:

Publicar un comentario en la entrada