En este artículo veremos como eliminar un paquete .deb dañado, roto o mal instalado.
- Introducción
- Solución con herramientas de gestión de paquetes
- Solución eliminando el paquete manualmente
- Introducción (Volver al índice General)
En ocasiones, nos encontramos con paquetes debian (.deb) que se instalan mal, tienen inconsistencias, quedan rotos o incluso después de estar instalados, al actualizar nos salen errores del tipo «hay que reinstalar el paquete nuevamente, antes de actualizar» o incluso no nos deja desinstalarlo.Para solucionar estos problemas, recurriremos en primer lugar a las herramientas de gestión de paquetes y si todo nos falla, no nos queda más remedio que eliminarlo de forma manual.
Aclarado esto, pasemos a mostrar las órdenes de gestión de paquetes de las herramientas dpkg y apt, y si todo falla, mostraremos como eliminarlo manualmente.
- Solución con herramientas de gestión de paquetes (Volver al índice General)
Primero intentaremos solucionar el problema con alguno de los siguientes comandos:- El comando siguiente intentará autocorregir los problemas existentes:
$ sudo dpkg --configure -a
- Si el anterior no funciona, este otro comando repara paquetes rotos:
$ sudo apt -f install
y a continuación, volvemos a ejecutar el comando anterior:
$ sudo dpkg --configure -a
- Si el paquete ya está en caché, podemos intentar forzar la instalación del mismo con el siguiente comando:
$ sudo dpkg -i --force-overwrite /var/cache/apt/archives/nombreDePaqueteCompleto.deb
- También podemos limpiar la caché de paquetes que no pueden descargarse con el siguiente comando:
$ sudo apt autoclean
- También podemos eliminar el paquete dañado con alguno de los siguientes comandos:
$ sudo apt autoremove nombreDePaquete
o también con:
$ sudo apt --purge remove nombreDePaquete
- Si todos los comandos anteriores fallan, lo intentaremos con el siguiente comando:
$ sudo dpkg --purge --force-remove-reinstreq nombreDePaquete
- El comando siguiente intentará autocorregir los problemas existentes:
- Solución eliminando el paquete manualmente (Volver al índice General)
Si con las herramientas de gestión de paquetes no logramos instalar, eliminar o actualizar nuestro paquete dañado, tendremos que eliminarlo manualmente.En este ejemplo, vamos a eliminar el paquete phpmyadmin, pero podría ser otro y el método sería el mismo.
Los pasos a seguir son los siguientes:
- Ejecutamos dpkg –listfiles para listar todos los archivos que forman el paquete. Os aconsejo que redireccionéis la salida del comando a un archivo de texto para facilitar la lectura y la búsqueda que vendrá a continuación:
$ sudo dpkg --listfiles phpmyadmin >phpmyadmin.txt
La salida del comando guardada en el archivo phpmyadmin.txt será algo similar a esto:
/. /etc /etc/phpmyadmin /etc/phpmyadmin/apache.conf /etc/phpmyadmin/conf.d /etc/phpmyadmin/config.footer.inc.php /etc/phpmyadmin/config.header.inc.php /etc/phpmyadmin/config.inc.php /etc/phpmyadmin/lighttpd.conf /etc/phpmyadmin/phpmyadmin.desktop /etc/phpmyadmin/phpmyadmin.service /usr /usr/share /usr/share/dbconfig-common /usr/share/dbconfig-common/data /usr/share/dbconfig-common/data/phpmyadmin /usr/share/dbconfig-common/data/phpmyadmin/install ... ... /usr/share/doc/phpmyadmin/html/_static/sidebar.js /usr/share/doc/phpmyadmin/html/_static/underscore.js /usr/share/phpmyadmin/doc/html /usr/share/phpmyadmin/js/vendor/openlayers
Según el listado volcado en el archivo phpmyadmin.txt, este paquete se instala en los siguientes directorios:
/etc/phpmyadmin /usr/share/dbconfig-common/data/phpmyadmin /usr/share/dbconfig-common/scripts/phpmyadmin /usr/share/doc/phpmyadmin /usr/share/doc-base/phpmyadmin /usr/share/lintian/overrides/phpmyadmin /usr/share/phpmyadmin /var/lib/phpmyadmin /usr/share/doc/phpmyadmin
Y además, consta de los siguientes archivos sueltos:
/usr/share/icons/hicolor/16x16/apps/phpmyadmin.png /usr/share/icons/hicolor/32x32/apps/phpmyadmin.png /usr/share/icons/hicolor/48x48/apps/phpmyadmin.png
- Ahora que sabemos dónde se instala, procedemos a la eliminación de todas las carpetas y archivos que conforman el paquete.
- Los directorios los borramos con rm -r:
$ sudo rm -r /ruta_directorio/phpmyadmin
Por ejemplo:
$ sudo rm -r /etc/phpmyadmin
- Y los archivos con rm:
$ sudo rm /ruta_archivo/nombre_de_archivo
Por ejemplo:
$ sudo rm /usr/share/icons/hicolor/16x16/apps/phpmyadmin.png
- Los directorios los borramos con rm -r:
- Editamos el archivo /var/lib/dpkg/status (Sería conveniente hacer una copia de seguridad del archivo antes de editarlo):
$ sudo nano /var/lib/dpkg/status
Eliminaremos la sección del paquete dañado, en nuestro ejemplo, phpmyadmin. Con el atajo de teclado Ctrl+W buscamos el texto Package: phpmyadmin, eliminamos toda la sección, guardamos los cambios con el atajo de teclado Ctrl+O y salimos con el atajo de teclado Crtl+X.
- Editamos el archivo /var/lib/dpkg/available (Sería conveniente hacer una copia de seguridad del archivo antes de editarlo):
$ sudo nano /var/lib/dpkg/available
Eliminaremos, si existe, la sección del paquete dañado, en nuestro ejemplo, phpmyadmin. Con el atajo de teclado Ctrl+W buscamos el texto Package: phpmyadmin, eliminamos toda la sección, si existe, guardamos los cambios con el atajo de teclado Ctrl+O y salimos con el atajo de teclado Crtl+X.
- Finalmente, actualizamos los repositorios con el siguiente comando:
$ sudo apt update
Si todo a ido bien, veremos que los errores han desaparecido y si es el caso, podremos volver a instalar el paquete dañado.
- Ejecutamos dpkg –listfiles para listar todos los archivos que forman el paquete. Os aconsejo que redireccionéis la salida del comando a un archivo de texto para facilitar la lectura y la búsqueda que vendrá a continuación:
Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
Configuración de privacidad y de cookies.
Deja una respuesta