Imagen de paquete Debian (.deb)

Cómo eliminar un paquete .deb dañado

 
 

En este artículo veremos como eliminar un paquete .deb dañado, roto o mal instalado.

Índice General

  1. Introducción
  2. Solución con herramientas de gestión de paquetes
  3. Solución eliminando el paquete manualmente

 

  1. 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.

  2.  

  3. 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
  4.  

  5. 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:

    1. 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
    2. 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
    3. 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.

    4. 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.

    5. 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.

 

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.
Seguir J. Carlos:

Técnico Informático - Desarrollo Web - Administración de Redes

Técnico Informático. Desarrollo Web. Administración de redes.

Últimas publicaciones de

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.