En mi caso tengo un paquete roto en mi equipo. En el caso que se encuentren con una situación similar deberán seguir las siguientes instrucciones para reparar los paquetes rotos y dependencias incumplidas. Pero antes de iniciar la explicación detallaremos que es un paquete roto y que son las dependencias incumplidas.

¿QUÉ ES UN PAQUETE ROTO?

En el momento de instalar un paquete puede darse el caso que no se instale correctamente o que no sea compatible con el resto de paquetes. Si esto pasa es posible que no podamos actualizar, instalar ni desinstalar ningún paquete de nuestro sistema operativo. El paquete responsable de que no podamos instalar y desinstalar paquetes es un paquete roto.

Los paquetes acostumbran a romperse en los siguientes casos:

  1. Al instalar programas externos a los repositorios oficiales de nuestra distribución.
  2. Si se interrumpe accidentalmente la instalación de un programa.
  3. Si se interrumpe accidentalmente la actualización del sistema operativo.
  4. Etc.

¿QUÉ SON LAS DEPENDENCIAS INCUMPLIDAS?

Al instalar un programa como LibreOffice se instalan multitud de paquetes, pero nosotros solo damos orden de instalar el paquete libreoffice. Esto es así por las dependencias de los paquetes. Es decir:

  1. Damos la orden de instalar el paquete libreoffice.
  2. El paquete libreoffice trae asociada la información que para funcionar correctamente tienen que instalarse una serie de paquetes adicionales. Estos paquetes adicionales se llaman dependencias. Obviamente, los paquetes adicionales o dependencias se instalarán de forma automática.
  3. Las dependencias del paquete libreoffice también pueden tener nuevas dependencias y así sucesivamente.

Por lo tanto, en el momento que se haya instalado el paquete libreoffice y todas las dependencias podremos usar LibreOffice.

En el momento que un paquete requiere una dependencia que no está presente en los repositorios de nuestra distribución se generará una dependencia incumplida y por lo tanto no podremos instalar y usar el programa que estamos instalando. En el caso que tangamos paquetes rotos también se generarán dependencias incumplidas o errores de dependencias.

PASOS A SEGUIR PARA REPARAR PAQUETES ROTOS Y SOLUCIONAR DEPENDENCIAS INCUMPLIDAS EN LINUX

En el caso que tengan paquetes rotos les propongo aplicar alguna de las soluciones que detallaré a continuación.

Nota: Al intentar reparar paquetes rotos se nos puede proponer eliminar una gran cantidad de paquetes para solucionar dependencias incumplidas. Por lo tanto, antes de aceptar alguna de las soluciones propuestas lean detenidamente lo que se realizará en el equipo.

Reparar paquetes rotos con dpkg y el gestor de paquetes apt

Lo primero que haremos es intentar configurar paquetes que han sido desempaquetados, pero no configurados. Para ello ejecutaremos el siguiente comando en la terminal:

sudo dpkg --configure -a

Si no se soluciona el problema limpiaremos la cache local de paquetes .deb ejecutando los siguiente comando en la terminal:

sudo apt-get clean && sudo apt-get autoclean

Acto seguido regeneraremos la cache de los repositorios con el parámetro –fix-missing. De este modo intentaremos detectar y reparar problemas de dependencias en nuestro sistema operativo. Por lo tanto en la terminal ejecutamos el siguiente comando:

sudo apt-get update --fix-missing

Seguidamente usaremos apt para intentar corregir las dependencias rotas. Para ello ejecutaremos el siguiente comando en la terminal:

sudo apt-get install -f

Después de ejecutar el comando se intentará buscar una solución para solucionar nuestro problema de dependencias incumplidas y paquetes rotos.

En el caso que sigan los problemas borraremos las lock files de apt y dpkg. Para ello ejecutaremos el siguiente comando en la terminal:

sudo rm /var/lib/apt/lists/lock && sudo rm /var/cache/apt/archives/lock && sudo rm /var/lib/dpkg/lock
Nota: Las lock files tienen la función de evitar que 2 o más procesos accedan a los mismos datos.

Después de ejecutar este último comando vuelvan a repetir la totalidad de comandos citados en este apartado.

Reparar paquetes rotos y dependencias con la terminal y dpkg

En el caso que la solución anterior no haya funcionado intentaremos eliminar el paquete roto que está generando problemas. Para ello ejecutaremos el siguiente comando:

sudo apt-get remove

En el caso que no tengamos éxito averiguaremos el paquete que está generando problemas ejecutando el siguiente comando:

sudo dpkg -l | grep ^..r

Acto seguido ejecutaremos el siguiente comando para intentar forzar la desinstalación del paquete que presenta problemas:

sudo dpkg --remove --force-remove--reinstreq nombre_paquete
Nota: Deben remplazar nombre_paquete por el paquete roto o que está generando problemas.

A continuación limpiaremos la cache local de nuestro repositorios ejecutando el siguiente comando:

sudo apt-get clean && sudo apt-get autoclean

Finalmente intentaremos actualizar nuestro sistema operativo ejecutando el siguiente comando en la terminal:

sudo apt-get update && sudo apt-get dist-upgrade

Si el sistema se actualiza sin problema habremos resuelto el problema de dependencias y paquetes rotos.

Reparar paquetes rotos con Synaptic package manager

Otra opción para intentar solucionar el problema es mediante el programa Synaptic. Para instalarlo tan solo tienen que ejecutar el siguiente comando en la terminal:

sudo apt-get install synaptic

Acto seguido abran el programa y sigan las siguientes instrucciones:

  1. Cliquen en el botón Filtros.
  2. A continuación seleccionen la opción Rotos.
  3. Seleccionen el paquete que está dañado.
  4. Acto seguido presionen sobre el botón derecho del ratón y cuando aparezca el menú contextual cliquen sobre la opción Marcar para desinstalar completamente. Acto seguido se intentará desinstalar el paquete que está generando todos los problemas.

Desinstalar paquetes rotos con Synaptic

En el caso que sigan con los mismos problemas pueden intentar lo siguiente. Justo al abrir el gestor de paquetes Synaptic entren dentro del menú Editar y cliquen sobre la opción Reparar paquete rotos. Acto seguido Synaptic interará arreglar los paquetes todos de nuestro sistema operativo.

Reparar paquetes rotos con Synaptic

Último recurso para intentar solucionar problemas de paquetes rotos y dependencias

Si después de aplicar la totalidad de opciones siguen con problemas pueden intentar lo siguiente.

Editen el fichero /var/lib/dpkg/status ejecutando el siguiente comando en la terminal:

sudo nano /var/lib/dpkg/status
Nota: El fichero /var/lib/dpkg/status contiene información del estado de los paquetes de nuestro sistema operativo.

Cuando se abra el editor de texto busquen el bloque de información que hace referencia al paquete roto que genera problemas. Una vez encontrado el bloque bórrenlo.

En mi caso, el paquete que genera problemas es caffeine, por lo tanto tendré que borrar todo el bloque que está dentro del rectángulo rojo.

Borrar el estado de los paquetes rotos

Una vez borrado el contenido guardamos los cambios y cerramos el fichero. Acto seguido podemos intentar actualizar nuestro sistema operativo ejecutando el siguiente comando:

sudo apt-get clean && sudo apt-get update && sudo apt-get dist-upgrade

Después de seguir los pasos del artículo deberían tener su sistema operativo plenamente operativo. En caso contrario detallen su problema de forma adecuada en los comentarios del artículo dando la información necesaria para que alguien les pueda ayudar.

Únete a la conversación

33 comentarios

    1. gracias ni idea de lo que pasa pero al final se ha instalado el codeblocks este…madre mia que lio muchas gracias!!

    2. Tenia problemas en ubuntu 18.04, instale mal wine, no la desinstale, apague la pc y posteriormente no reconocía mi clave de usuario, ustedes me an salvado muchas veces, gracias

  1. Muy buena la ayuda!! Bastante completa la solución. Sin haber podido del todo solucionar al actualizar debian de 9 a 10 (buster) igualmente salio andando KDE que es el que estaba roto por algun motivo durante la actualización. Entre todo se puedo reactivar. Gracias! Muy capos!.

  2. Eres crack, muchas gracias. Me gusta linux porque es un constante aprender : D

    Estos son problemas sencillos que arruinan la gran experiencia de linux y de hecho son fáciles de resolver, el problema es que estamos muy acostumbrados a dar click como locos sin saber ni leer nada. Gracias

  3. E: Entrada 1 mal especificada en list fichero /etc/apt/sources.list.d/additional-repositories.list (Suite)
    E: No se pudo leer la lista de fuentes.
    Vaya al diálogo del repositorio para corregir el problema.
    E: _cache->open() failed, please report.

    1. Hola

      Parece ser que tienes un repositorio mal entrado y además el mensaje te está dando una indicación clara del fichero en que tienes introducido mal el repositorio.

      Saludos

  4. Excelente. Pude eliminar los repositorios conflictivos que no me dejaban actualizar el sistema (deepin 15.11).

    Por si a alguien le sirve solo tuve error con el comando:
    sudo dpkg --remove --force-remove--reinstreq

    en deepin me funciono con un guión menos así:
    sudo dpkg --remove --force-remove-reinstreq

  5. Gracias a este tutorial, pude solucionar un problema de dependencias incumplidas que me tenía a maltraer.

    Muchas gracias!

    Saludos,

  6. saludos y muchas gracias por el post, muy bueno, en mi caso me fui directamente al ultimo recurso y me funciono, solo que no hice dist-upgrade, me fue suficiente con limpiar la cache de apt. muchas gracias

  7. Buen post!

    Si aún así falla, un motivo que puede suceder es que se haya actualizado la versión del sistema operativo y haya deshabilitado los repositorios que tenemos configurados. Para ello revisad que en la configuración de los repositorios «Software y actualizaciones», en la pestaña «Otro software» está marcado el check del repositorio necesario

  8. Bueno, tenía problemas con los drivers nvidia de mi vieja tarjeta gráfica. Creo que con esa cascada de comandos (no sabría precisar con cuál)el problema desapareció. Gracias enormes al autor del artículo.

  9. No me estaban dando resultados la soluciones y le hice caso a las sugerencias de ubuntu.

    hice

    sudo -i

    apt --fix-broken install

  10. tu guia me funciono!! ahora ya puedo instalar las actualizaciones del sistema, Muchas gracias

  11. Hola, solo quiero dar gracias, tenía un problema con mysql y solo con tu solución pude hacerlo
    Mil gracias

  12. Muchísimas gracias por tu ayuda, he resuelto un problema desinstalando un paquete , limpiando la caché y haciendo update y dist-upgrade. Sería muy interesante que comentases brevemente que estamos haciendo con cada uno de los comandos. Gracias!

  13. Muchas gracias por el aporte. felicitaciones por la loable tarea de ayudar a todas las personas que precisan este tipo de soporte ya que no están familiarizadas con este sistema .

  14. Muchas gracias, me salvo la ultima opción para eliminar un paquete rebelde mal instalado de sql

  15. Hace 3 semanas esto me estropeo el sistema entero al grado de restablecer todo mi pc. A la semana ya tenía nuevamente el problema. Consulte en un sin fin de páginas, foros, grupos, y en ninguno encontré nada como lo que encontré aquí; recupere mi maquina al 100%. mil gracias!

Dejar un comentario

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.