lunes, 1 de junio de 2009

Eliminar un paquete que se resiste en Ubuntu

Algunas veces me ha ocurrido que hay un paquete que no se quiere desinstalar, de esos que dan error, nadie sabe por qué (en algún momento se ha corrupto, y a partir de ese momento te da la lata).

Pues bien, a mi me ha pasado, con el Ubuntu 9.04 UNR que tengo instalado en mi Asus Eee 901, con el paquete ed (que es un editor de texto que viene por defecto instalado). No es que me diera mayor problema, ya que podía actualizar, instalar y desinstalar cosas, pero cualquiera de estos procesos siempre terminaba con una advertencia de error sobre este paquete (que permanentemente el sistema intentaba eliminar y no había manera). Bien, aquí pongo, de manera resumida, cómo se puede fulminar un paquete que nos da problemas (luego lo podremos volver a instalar si es necesario, lógicamente). Pero ojo, cuidadín cuidadín, que es un procedimiento peligroso para profanos. Yo lo he hecho sin problemas con el mencionado paquete, pero no hace falta que os diga que no me hago responsable de lo que le hagáis a vuestros ordenadores....

Cómo eliminar un paquete problemático:

I. Primero inténtalo "por las buenas", con estos comandos:

sudo apt-get remove --purge paquete

II. ¿no se ha eliminado? Pues ahora a fulminarlo:

1) Ver los archivos que hay que borrar: Lo primero que debes hacer es borrar todos los archivos instalados de este paquete. Para esto, abres synaptic (desde terminal, sudo synaptic; desde menú, está en Administración), seleccionas el paquete que da problemas, y le das a propiedades. Ahí te saldrá una lista con los archivos instalados (ojo, también salen carpetas generales que no debes borrar si contienen algo más). Toma nota o mantén abierta esa ventana para ver los archivos que tendrás que borrar.

2) Borrarlos: Entonces, entras en el administrador de archivos como root (desde terminal, sudo nautilus), y los borras tranquilamente (insisto, no borres las carpetas que contengan algún archivo más. Por seguridad, no borres ninguna carpeta, sólo los archivos concretos que vengan en la lista).

3) Ahora tienes que actualizar el archivo donde se encuentra la información de los paquetes instalados. Esto es peligroso, así que primero haz una copia de seguridad de este archivo:

cp /var/lib/dpkg/status /var/lib/dpkg/status_backup

Y para actualizarlo, lo editas:

sudo gedit /var/lib/dpkg/status

¿qué hay que hacer? Pues borrar la información del paquete en cuestión. ¿Dónde está? Pues localiza la parte que empiece por "Package: paquete problemático" y todo eso, incluida esa línea, hasta la siguiente que empiece por "Package: otro paquete" (ahí ya empieza la información de otro paquete), lo debes borrar. Ojo, entre la información de un paquete y otro, debe quedar una línea en blanco. Y cuando termines, le das a guardar. Y ya está!

Fuente: http://electrobuntu.blogspot.com/2009/04/correccion-de-estados-de-los-paquetes.html (gracias, me ha fucionado, por eso lo pongo aquí).

2 comentarios:

  1. Gracias, realmente me gusta tener la libertad de elegir mis programas

    ResponderEliminar
  2. ¿Has probado con aptitude y dpkg?. De todas maneras, todos son para gestionar .deb, aunque con más opciones que el synaptic. A mí me va muy bien (especialmente el "gráfico" aptitude, porque me permiten desinstalar programas .deb no instalados a través del synaptic (como el google earth).
    El dpkg es un desinstalador por consola, sobre el cual se basa aptitude, que es gráfico (aunque podría mejorarse su usabilidad). Pruébalo, a mí me ha dado muy buen resultado :-)

    ResponderEliminar

Cualquier comentario es bienvenido, siempre con respeto.