He leído y seguido los consejos en esta pregunta en vano. Estoy intentando instalar libssl1.0.0:i386
en mi caja 14.04 (amd64), pero cuando trato de hacer esto a través de APT, recibo el siguiente mensaje de error:
[email protected]:~$ sudo apt-get install libssl1.0.0:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help resolve the situation:
The following packages have unmet dependencies:
default-jre-headless : Depends: openjdk-7-jre-headless (>= 7~u3-2.1.1) but it is not going to be installed
openjdk-7-jre : Depends: openjdk-7-jre-headless (= 7u55-2.4.7-1ubuntu1) but it is not going to be installed
Recommends: libgnome2-0 but it is not going to be installed
Recommends: libgnomevfs2-0 but it is not going to be installed
openssh-client : Depends: libssl1.0.0 (>= 1.0.1) but it is not going to be installed
openssh-server : Depends: libssl1.0.0 (>= 1.0.1) but it is not going to be installed
Depends: openssh-sftp-server but it is not going to be installed
Recommends: ssh-import-id but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Tengo todas las últimas actualizaciones instaladas. He ejecutado apt-get -f install
. Me he asegurado de que todos los repositorios estén habilitados en Fuentes de software.
¿Qué podría estar causando esto?
Actualización:
Estos son los contenidos de la política apt-cache policy libssl1.0.0
:
libssl1.0.0:
Installed: 1.0.1g-1ppa1~trusty1
Candidate: 1.0.1g-1ppa1~trusty1
Version table:
*** 1.0.1g-1ppa1~trusty1 0
100 /var/lib/dpkg/status
1.0.1f-1ubuntu2.1 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
1.0.1f-1ubuntu2 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
…y apt-cache policy libssl1.0.0:i386
:
libssl1.0.0:i386:
Installed: (none)
Candidate: 1.0.1f-1ubuntu2.1
Version table:
1.0.1f-1ubuntu2.1 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty-updates/main i386 Packages
500 http://security.ubuntu.com/ubuntu/ trusty-security/main i386 Packages
1.0.1f-1ubuntu2 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty/main i386 Packages
Respuesta aceptada:
Este tipo de mensaje de error generalmente indica que se está instalando un paquete que entra en conflicto con otros paquetes instalados y habría forzado la eliminación de otros paquetes dependientes. Al instalar el mismo paquete para más de una arquitectura al mismo tiempo (ver MultiArch), amd64
y i386
en este caso, las versiones de los paquetes a instalar deben coincidir exactamente .
Lo que probablemente sucedió en este caso (confirmado por nuestra discusión en los comentarios) es que libssl1.0.0
se actualizó a una versión PPA que es más nueva que cualquier versión disponible en los repositorios de Ubuntu. Si el PPA se deshabilitó o desconfiguró más tarde, los paquetes más nuevos normalmente permanecen instalados. Lea esta pregunta para conocer la diferencia entre deshabilitar y purgar un PPA. Sin embargo, si ya eliminó el PPA de su configuración apt, deberá degradar manualmente los paquetes que se actualizaron previamente desde el PPA.
Para poder instalar libssl1.0.0:i386
, debe tener la misma versión de libssl1.0.0:amd64
instalado desde el repositorio. Y porque el openssl
paquete fuente crea varios paquetes binarios relacionados, debe asegurarse de que todos sus paquetes también estén en la misma versión. Si no especifica todos los paquetes que desea degradar, apt preferirá desinstalar en lugar de degradar. En este caso, si tiene libssl1.0.0
, libssl-dev
y openssl
instalado desde un PPA, debe
sudo apt-get install libssl1.0.0/trusty libssl-dev/trusty openssl/trusty
Responda sí a apt-get
's aviso sobre la degradación de los paquetes. Ahora debería poder instalar libssl1.0.0:i386
paquete del repositorio.