Tengo la keybase
CLI instalada, pero keybase
desafortunadamente el paquete también contiene un cliente GUI que requiere libadwaita, GTK y un montón de otras cosas GUI enormes, lo que inflaría enormemente la cantidad de paquetes que he instalado y la cantidad de espacio en disco que usa WSL. Debido a esto, lo instalé manualmente keybase
para dpkg -i
evitar incluir todas las dependencias de la GUI, lo que me permite usar la CLI sin ninguna sobrecarga.
Sin embargo, eso provocó apt
que dejara de funcionar. Cuando intento instalar cualquier otro paquete, incluso uno que no tenga ninguna relación con keybase
, aparece este mensaje de error:
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
keybase : Depends: libappindicator1 but it is not going to be installed or
libayatana-appindicator1 but it is not going to be installed
Depends: libgconf-2-4 but it is not going to be installed
Depends: libgtk-3-0 but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
La única solución que encontré es eliminar temporalmente keybase
con dpkg
, ejecutar mi apt
comando y luego reinstalarlo keybase
nuevamente. Pero no me gusta esta solución: quiero seguir keybase
en mi sistema. ¿Hay alguna manera de apt
ignorar estas dependencias insatisfechas? Alternativamente, ¿hay alguna manera de tener dependencias no satisfechas en el sistema sin romperse apt
?
Respuesta1
Apt no se puede utilizar para actualizar o instalar software cuando hay dependencias no satisfechas en el sistema.
- "No se puede utilizar para actualizar" incluye actualizaciones del paquete de seguridad. Los sistemas con dependencias no satisfechas nonorecibir actualizaciones de seguridad. Por lo tanto, no es prudente que la mayoría de los usuarios dejen un sistema en estas condiciones.
Para la mayoría de los usuarios de Ubuntu,dependencias insatisfechasocurren cuando instalan software que no es Ubuntu o tiene una versión incorrecta. El problema se resuelve cuando desinstalan aquellos paquetes que no son de Ubuntu o que tienen una versión incorrecta.
Para usuarios avanzados intrépidos, Apt y dpkg tienen --force
(ver man dpkg
) opciones que permiten anulaciones limitadas. Estos son legados de la era anterior a Ubuntu y rara vez se utilizan hoy en día... pero podrían ser lo que buscas. Por ejemplo, --force-depends-version
:
depende-versión: no se preocupa por las versiones al verificar las dependencias. Esto afecta a los campos Pre-Depende y Depende.
Advertencia: Force debe usarse con mucho cuidado y solo temporalmente hasta que una versión ascendente solucione el problema de dependencia. Es posible que apt y dpkg sigan quejándose enérgicamente (¡y correctamente!) de paquetes con versiones incorrectas. Pueden ocurrir otros efectos secundarios.
- NO utilice paquetes forzados como solución permanente. Terminará en lágrimas y un sistema roto. Si necesita una solución permanente que no sea un paquete deb, considere la posibilidad de compilar desde el código fuente, aplicaciones alternativas y/o métodos de empaquetado alternativos. NO lance-actualice un sistema con paquetes forzados instalados, ya que esos paquetes pueden causar que la actualización falle espectacularmente.