我已阅读并遵循了此问题中的建议,但无济于事。我正在尝试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
我正在使用 Ubuntu 20.04,以下步骤对我有用:
使用添加 18.04 的主存储库
更新存储库缓存并检查 libssl1.0-dev 现在是否可用。
安装 libssl1.0-dev。
这种错误消息通常表示正在安装的包与其他已安装的包冲突,并且会强制删除其他依赖包。当同时为多个架构安装同一个包时(参见MultiArch),
amd64
在i386
这种情况下,要安装的包的版本必须完全匹配。在这种情况下可能发生的事情(由我们在评论中的讨论证实)是
libssl1.0.0
升级到比 Ubuntu 存储库中可用的任何版本都新的 PPA 版本。如果 PPA 后来被禁用或取消配置,较新的软件包通常会保持安装状态。阅读此问题了解禁用和清除 PPA 之间的区别。但是,如果您已经从 apt 配置中删除了 PPA,则需要手动降级之前从 PPA 升级的软件包。为了能够安装
libssl1.0.0:i386
,您必须libssl1.0.0:amd64
从存储库安装相同版本。并且因为openssl
源码包构建了多个相关的二进制包,你必须确保它的所有包也在同一个版本上。如果您没有指定要降级的所有软件包,apt 将宁愿卸载而不是降级。在这种情况下,如果您有libssl1.0.0
、libssl-dev
和openssl
从 PPA 安装,您应该apt-get
对有关降级软件包的提示回答是。您现在应该能够libssl1.0.0:i386
从存储库安装包。这是因为没有安装web socket库。尝试跑步
跑步前
我到达这里试图在 debian 9 stretch 上安装官方的 mongodb-org。但是我遇到了与您类似的错误:
并尝试一个一个地安装软件包:
我在下一篇文章中找到了我的解决方案: https ://linuxconfig.org/how-to-install-spotify-on-debian-9-stretch-linux
它只安装旧的 ssl 包做:
这样做之后,mongodb-org 就安装好了。希望你会发现它有帮助。