
Я прочитал и следовал советам вэтот вопросбезрезультатно. Я пытаюсь установить 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
. Я убедился, что все репозитории включены в Источниках ПО.
Что может быть причиной этого?
Обновлять:
Вот содержимое 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
решение1
Я использую Ubuntu 20.04, следующие шаги мне помогли:
Добавьте основной репозиторий 18.04 с помощью
echo "deb http://security.ubuntu.com/ubuntu bionic-security main" | sudo tee -a /etc/apt/sources.list.d/bionic.list
Обновите кэш репозитория и проверьте, доступен ли теперь libssl1.0-dev.
sudo apt update
apt-cache policy libssl1.0-dev
Установите libssl1.0-dev.
sudo apt-get install libssl1.0-dev
решение2
Этот тип сообщения об ошибке обычно указывает на то, что устанавливается пакет, который конфликтует с другими установленными пакетами и может привести к принудительному удалению других зависимых пакетов. При установке одного и того же пакета для нескольких архитектур одновременно (см.МультиАрх), amd64
и i386
в этом случае версии устанавливаемых пакетов должны совпадатьточно.
Что, скорее всего, произошло в этом случае (подтверждено нашим обсуждением в комментариях), так это то, что libssl1.0.0
было выполнено обновление до версии PPA, которая новее любой версии, доступной в репозиториях Ubuntu. Если PPA был позже отключен или не настроен, более новые пакеты обычно остаются установленными. Читатьэтот вопросдля разницы между отключением и очисткой PPA. Однако, если вы уже удалили PPA из конфигурации apt, вам нужно будет вручную понизить версии пакетов, которые были ранее обновлены из 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
Ответьте «да» на apt-get
запрос о понижении версии пакетов. Теперь вы сможете установить пакет libssl1.0.0:i386
из репозитория.
решение3
Это потому, что библиотека веб-сокетов не установлена. Попробуйте запустить
sudo apt-get install libwebsockets-dev
перед запуском
sudo apt-get install mosquitto
решение4
Я добрался сюда, пытаясь установить официальный 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 был успешно установлен. Надеюсь, вы найдете это полезным.