Dependencias no satisfechas: no se puede eliminar el paquete libgbm1

13

En este caso tengo el libgbm1retenido, dándome un mensaje como:

Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

Desde que leí cuidadosamente ¿Cómo resuelvo dependencias insatisfechas después de agregar un PPA? Traté de eliminar el paquete roto con sudo apt-get remove libgbm1lo sugerido. Sin embargo, el comando eliminar me dio el mismo error.

sudo apt-get upgradeno actualiza este paquete ( "...and 1 not upgraded."). Y necesito este para construir otros paquetes que dependen de él ( pkgProblemResoverproblema nuevamente). Parece que no puedo revertir la versión ni seguir adelante.

Pasos que he probado alguna vez:

  • deshabilitó algunos repositorios de ppa software updatesy sudo apt-get updateluego traté de arreglarlo con apt, que no funcionó.
  • sudo apt-get -f installcon and 1 not upgraded.
  • Intenté instalar paquetes de los que libgbm1depende. Pero más paquetes se presentan y se acumulan rápidamente hasta decenas de ellos, lo que parece poco confiable de manejar, y también informaron errores similares.

¿Por qué no podría eliminar el paquete? ¿Como arreglarlo?

knh170
fuente

Respuestas:

23

El problema aquí es bloquear el paquete de problemas y echarlo. Entonces puedes arreglar dependencias inconsistentes con sudo apt-get -f install.

Entonces, con precaución, puede usar: sudo dpkg --force-all -P libgbm1para forzar la eliminación de lo roto. Este comando puede dañar su sistema, por lo que debe verlo. Y tratar de arreglar: sudo apt-get -f install.

Si algún paquete también se está corrompiendo, repita los pasos anteriores con precaución. Y cada vez que elimine paquetes rotos, intente arreglarlos. Abordé mi problema en este caso.

knh170
fuente
¡Gracias, dos días de dolor antes de encontrar tu respuesta! Sin embargo, tengo que completar tu respuesta porque tuve que correr sudo apt --fix-broken installdespués sudo dpkg --force-all -P libgbm1para terminar la instalación
Jérémy Pouyet
4

En lugar de apresurarse a eliminar sus paquetes rotos utilizando la --force-allopción de dpkg, primero intente eliminarlo sin esta opción, utilizando simplemente

dpkg -P package-name

En mi caso, dpkgimprimí por qué no podía eliminar este paquete: otro paquete dependía de él. Después de que eliminé al dependiente, el paquete roto finalmente se pudo eliminar, sin ninguno --force-anything.

Esto puede requerir varias eliminaciones recursivas en caso de que el dependiente también se rompa, pero el resultado final debería ser la reparación de la cadena de dependencia, que aptno pudo solucionarse.

Ruslan
fuente
1
Esta fue la única solución que podría encontrar que trabajó para ayudarme con mi problema, no puede instalar debido a dependencias no satisfechas
wlh