Cómo forzar la eliminación cuando el script posterior a la instalación siempre falla

37

Tengo un paquete personalizado instalado en mi Ubuntu 10.10, y tratando de eliminarlo, obtuve:

$ sudo dpkg -r package
sub-process script post-installation installed returne an error state 127

(el mensaje devuelto por el comando fue traducido del portugués (br).

Entonces, noté que en el script de instalación de este paquete, lo que hizo fue crear una entrada en mi inicio, crear una carpeta en / opt y crear un usuario.

Eliminé todo lo que creó. Pero ahora, solo quiero eliminarlo de la lista dpkg, porque quiero hacer que mi Linux sea como si nunca hubiera instalado este paquete.

¿Cómo puedo hacer esto?

Gabriel L. Oliveira
fuente

Respuestas:

47

Es posible que deba eliminar manualmente el paquete usando:

sudo dpkg --purge --force-all package

Reemplazar packagecon el nombre del paquete.

Tenga en cuenta: se recomienda informar un error si el paquete no es suyo o si no sabe qué hace el script.

Braiam
fuente
1
@jcomeau_ictx, por supuesto ... la pregunta es sobre post-eliminación, no sobre pre.
Braiam
30

tratando de eliminar xmail con error dpkg --purge --force-all xmailporque la secuencia de comandos previa a la eliminación estaba saliendo con un error al intentar detener el demonio xmail. Encontré la solución aquí: https://serverfault.com/questions/179570/how-to-remove-a-package-which-post-installation-and-pre-removal-script-fails

específicamente, edité /var/lib/dpkg/info/xmail.prerm y cambié || exit $!a|| true

jcomeau_ictx
fuente
1
No entiendo el voto negativo. la otra solución no cubre todos los casos, y esto proporciona algo de ayuda para el resto.
jcomeau_ictx
1
Si tengo que adivinar, respondes "falló porque el script previo a la eliminación", esta pregunta es sobre el script "posterior a la instalación". No estás respondiendo la pregunta que se hace actualmente.
Braiam el
2
Tuve un problema con la secuencia de comandos previa a la eliminación y esto me ayudó.
Bogdan Calmac
2
Como es de esperar, si la edición de *.prermarchivos es demasiado tediosa, también puede eliminarlos: el proceso de desinstalación funciona cuando faltan
Paulius Šukys
gracias, no sabia eso! eso vale una respuesta por separado, si quieres hacerlo.
jcomeau_ictx