Mostrando entradas con la etiqueta dependencias. Mostrar todas las entradas
Mostrando entradas con la etiqueta dependencias. Mostrar todas las entradas

Como resolver dependencias rotas

Como resolver dependencias rotas de una instalación basada en Debian.

En una entrada anterior intentaba solucionar la instalación fallida de un paquete:

Resolver dependencias al instalar un paquete

Pero al desinstalar o purgar una aplicación, puede que por error se borró alguna librería de la que dependa otro programa o servicio. Una de las formas que nos recomienda el propio sistema es la ejecución del script:


sudo apt --fix-broken install


Dependencias rotas

 


Si no ha habido éxito, como fue mi caso ejecutaremos los siguientes comandos

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


Seguidamente limpiaremos la cache local de paquetes .deb 


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


Regeneramos la caché de los repositorios con el parámetro –fix-missing. De este modo intentaremos detectar y reparar problemas de dependencias en nuestro sistema operativo.


sudo apt-get update --fix-missing


Corregiremos las dependencias rotas. Para ello ejecutaremos el siguiente comando en la terminal: 


sudo apt-get install -f

 

En este punto mi problema se solucionó, restaurando el sistema y pudiendo ejecutar


sudo apt-get dist-upgrade


Para poder actualizar el sistema. 

Los siguientes paquetes se han retenido

Realizando tareas de mantenimiento del sistema, este me respondió con el mensaje:


sudo apt-get full-upgrade 

Leyendo lista de paquetes... Hecho

Creando árbol de dependencias       

Leyendo la información de estado... Hecho

Calculando la actualización... Hecho

Los siguientes paquetes se han retenido:

  rawtherapee

 

A partir de aquí ya no me permite actualizar el sistema

Una de las soluciones que encontré fue, curiosamente, actualizar el paquete que se encontraba retenido, utilizando el comando:

sudo apt-get upgrade <nombre paquete retenido>


sudo apt-get upgrade rawtherapee

Leyendo lista de paquetes... Hecho

Creando árbol de dependencias       

Leyendo la información de estado... Hecho

Calculando la actualización... Hecho

Los siguientes paquetes se ELIMINARÁN:

  rawtherapee-data

Los siguientes paquetes se han retenido:

  gparted

Se actualizarán los siguientes paquetes:

  rawtherapee

1 actualizados, 0 nuevos se instalarán, 1 para eliminar y 1 no actualizados.

Se necesita descargar 17,3 MB de archivos.

Se utilizarán 28,9 MB de espacio de disco adicional después de esta operación.

¿Desea continuar? [S/n] s

Des:1 http://ppa.launchpad.net/dhor/myway/ubuntu bionic/main amd64 rawtherapee amd64 5.8-1dhor~bionic [17,3 MB]

Descargados 17,3 MB en 1s (21,4 MB/s)  

dpkg: rawtherapee-data: problemas de dependencias, pero se desinstalará de todas formas

 tal y como se solicitó:

 rawtherapee depende de rawtherapee-data (= 5.3-1).

(Leyendo la base de datos ... 551670 ficheros o directorios instalados actualmente.)

Desinstalando rawtherapee-data (5.3-1) ...

(Leyendo la base de datos ... 550717 ficheros o directorios instalados actualmente.)

Preparando para desempaquetar .../rawtherapee_5.8-1dhor~bionic_amd64.deb ...

Desempaquetando rawtherapee (5.8-1dhor~bionic) sobre (5.3-1) ...

Configurando rawtherapee (5.8-1dhor~bionic) ...

Procesando disparadores para gnome-menus (3.13.3-11ubuntu1.1) ...

Procesando disparadores para hicolor-icon-theme (0.17-2) ...

Procesando disparadores para mime-support (3.60ubuntu1) ...

Procesando disparadores para desktop-file-utils (0.23+linuxmint8) ...

Procesando disparadores para man-db (2.8.3-2ubuntu0.1) ...


 

Resolver dependencias al instalar un paquete

La instalación de paquetes en linux, en algunos casos, suele ser frustrante; sobre todo si el programa que queremos instalar tiene la necesidad de tener instalados previamente en nuestro equipo otros paquetes para que funcione.
Instalaciones incompletas nos bloquea el instalador para nuevos paquetes.
En mi caso instalado el paquete
sudo dpkg -i webmin_1.900_all.deb
Quedo incompleta su instalación, ya que dependía de la instalación de paquetes que no se encontraban en el sistema:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias     
Leyendo la información de estado... Hecho
Tal vez quiera ejecutar «apt --fix-broken install» para corregirlo.
Los siguientes paquetes tienen dependencias incumplidas:
 webmin : Depende: libauthen-pam-perl pero no está instalado
          Depende: apt-show-versions pero no está instalado
E: Dependencias incumplidas. Intente «apt --fix-broken install» sin paquetes (o especifique una solución).
Ejecutando el comando apt-get
sudo apt-get --fix-broken install
 Leyendo lista de paquetes... Hecho
Creando árbol de dependencias     
Leyendo la información de estado... Hecho
Corrigiendo dependencias... Listo
Se instalarán los siguientes paquetes adicionales:
  apt-show-versions libauthen-pam-perl
Se instalarán los siguientes paquetes NUEVOS:
  apt-show-versions libauthen-pam-perl
0 actualizados, 2 nuevos se instalarán, 0 para eliminar y 0 no actualizados.
1 no instalados del todo o eliminados.
Se necesita descargar 0 B/52,8 kB de archivos.
Se utilizarán 172 kB de espacio de disco adicional después de esta operación.
¿Desea continuar? [S/n] s
Seleccionando el paquete libauthen-pam-perl previamente no seleccionado.
(Leyendo la base de datos ... 367984 ficheros o directorios instalados actualmente.)
Preparando para desempaquetar .../libauthen-pam-perl_0.16-3build5_amd64.deb ...
Desempaquetando libauthen-pam-perl (0.16-3build5) ...
Seleccionando el paquete apt-show-versions previamente no seleccionado.
Preparando para desempaquetar .../apt-show-versions_0.22.7ubuntu1_all.deb ...
Desempaquetando apt-show-versions (0.22.7ubuntu1) ...
Configurando libauthen-pam-perl (0.16-3build5) ...
Configurando apt-show-versions (0.22.7ubuntu1) ...
** initializing cache. This may take a while **
Configurando webmin (1.900) ...
Webmin install complete. You can now login to https://localhost:10000/
as root with your root password, or as any user who can use sudo
to run commands as root.
Fueron satisfechas las dependencias y terminando correctamente la instalación, en este caso, de Wemin