我面临以下问题。如果我运行命令sudo apt-get upgrade
,我会得到:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
libssl1.0.0:i386
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
如果我跑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 to resolve the situation:
The following packages have unmet dependencies:
apache2-mpm-prefork : Depends: apache2.2-bin (= 2.2.22-13+deb7u1) but it is not going to be installed
apache2.2-common : Depends: apache2.2-bin (= 2.2.22-13+deb7u1) but it is not going to be installed
Depends: apache2-utils but it is not going to be installed
Recommends: ssl-cert but it is not going to be installed
libssl1.0.0 : Breaks: libssl1.0.0:i386 (!= 1.0.1e-2+deb7u6) but 1.0.1e 2+deb7u7 is to be installed
libssl1.0.0:i386 : Breaks: libssl1.0.0 (!= 1.0.1e-2+deb7u7) but 1.0.1e-2+deb7u6 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
我使用的是 Debian 7 64。
你能解释一下到底发生了什么吗?我的服务器有问题吗?
谢谢。
答案1
问题似乎是您不能同时安装amd64
和i386
版本libssl1.0.0
除非它们是完全相同的版本。上面的amd64
版本是,1.0.1e-2+deb7u6
而i386
版本是1.0.1e-2+deb7u7
。
由于某种原因,该i386
架构具有比其他版本更新的软件包版本,目前尚不清楚这是为什么。也许它只是需要时间通过服务器传播。该软件包似乎确实是一个重要的安全更新,我复制了以下更改:
openssl (1.0.1e-2+deb7u7) wheezy-安全;紧急程度=高
- 由安全团队非维护者上传。
- 修复 CVE-2010-5298:释放后使用竞争条件。
- 添加从 openssl 到 libssl1.0.0 的版本依赖项到修复了 CVE-2014-0160 的版本(关闭:#744194)。
- 建议在升级时重新启动 prosody(关闭:#744871)。
- 正确检测 apache2 安装并建议重新启动它(关闭:#744141)。
- 添加更多要检查重新启动的服务。
- 修复了不总是检测到 TSA 扩展密钥使用的关键标志的错误,以及另外两个类似的情况。
- 添加对“libraries/restart-without-asking”的支持,它允许服务自动重新启动而无需提示或需要响应。
- 修复 CVE-2014-0076:“Yarom/Benger FLUSH+RELOAD 缓存侧通道攻击”(关闭:#742923)。
——拉斐尔·盖瑟特,2014 年 4 月 17 日星期四 22:11:33 +0200
最有可能的是,最好的办法就是等待,直到该软件包可供使用amd64
。无论如何,由于i386
它是您的服务器的外国架构,因此安装它可能不会带来任何安全好处,因为该amd64
版本将是正在使用的主要版本。也许这i386
只是一个外围软件包的依赖项,它没有任何东西一直在运行(尽管您需要检查所有依赖项才能确定)。