Не удалось установить libssl1.0.0: i386 из-за «неудовлетворенных зависимостей»?

Я прочитал и последовал совету в этом вопросе безрезультатно. Я libssl1.0.0:i386 установить libssl1.0.0:i386 в свой ящик 14.04 (amd64), но когда я пытаюсь сделать это через APT, я получаю следующее сообщение об ошибке:

 nathan@nathan-desktop:~$ 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. 

У меня установлены все последние обновления. Я запустил apt-get -f install . Я уверен, что все хранилища включены в Software Sources.

Что может быть причиной этого?


Обновить:

Вот содержимое политики 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 

… и 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 

Такое сообщение об ошибке обычно указывает на то, что установлен пакет, который конфликтует с другими установленными пакетами и принудительно удаляет другие зависимые пакеты. При установке одного и того же пакета для нескольких архитектур одновременно (см. MultiArch ), amd64 и i386 в этом случае, версии устанавливаемых пакетов должны точно соответствовать .

Вероятно, в этом случае (подтвержденный нашим обсуждением в комментариях) было установлено, что libssl1.0.0 был обновлен до версии PPA, которая является более новой, чем любая версия, доступная из репозиториев Ubuntu. Если PPA позже был отключен или не сконфигурирован, новые пакеты обычно остаются установленными. Прочтите этот вопрос о разнице между отключением и очисткой PPA. Однако, если вы уже удалили PPA из своей подходящей конфигурации, вам нужно будет вручную понизить пакеты, которые ранее были обновлены из PPA.

Чтобы установить libssl1.0.0:i386 , вы должны иметь ту же версию libssl1.0.0:amd64 установленную из репозитория. И поскольку исходный пакет openssl создает несколько связанных двоичных пакетов, вы должны убедиться, что все его пакеты также находятся в одной и той же версии. Если вы не укажете все пакеты, которые хотите понизить, apt предпочитает деинсталлировать, а не понижать. В этом случае, если у вас есть libssl1.0.0 , libssl-dev и openssl установленные из PPA, вы должны

 sudo apt-get install libssl1.0.0/trusty libssl-dev/trusty openssl/trusty 

Ответьте yes на подсказку apt-get о снижении пакетов. Теперь вы можете установить пакет libssl1.0.0:i386 из репозитория.

Я попытался установить официальный mongodb-org на debian 9 stretch. Однако я столкнулся с подобной ошибкой, чем вы:

 user@debian:~/folder$ sudo apt-get install -y mongodb-org 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 to resolve the situation: The following packages have unmet dependencies: mongodb-org : Depends: mongodb-org-shell but it is not going to be installed Depends: mongodb-org-server but it is not going to be installed Depends: mongodb-org-mongos but it is not going to be installed Depends: mongodb-org-tools but it is not going to be installed E: Unable to correct problems, you have held broken packages. 

и пытается установить пакеты один за другим:

 user@debian:~/folder$ sudo apt-get install -y mongodb-org-tools 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 to resolve the situation: The following packages have unmet dependencies: mongodb-org-tools : Depends: libssl1.0.0 (>= 1.0.1) but it is not installable E: Unable to correct problems, you have held broken packages. 

И я нашел свое решение в следующей статье: https://linuxconfig.org/how-to-install-spotify-on-debian-9-stretch-linux

Он устанавливает только старый пакет ssl:

 $ wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb $ sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb 

После этого mongodb-org был установлен хорошо. надеюсь, что вы найдете это полезным.