如何通过 apt-get 降级 openssl?

如何通过 apt-get 降级 openssl?

最近升级后,我遇到了一些 SSL 连接问题。我想暂时降级 openssl,看看问题是否会消失。

当前安装的版本openssl1.0.1-4ubuntu5.32,之前的版本为5.31。但是,当我尝试:

apt-get install openssl=1.0.1-4ubuntu5.31

我得到:

E: Version '1.0.1-4ubuntu5.31' for 'openssl' was not found

我认为这是安装特定版本的正确程序?

答案1

我不认为降级能解决你的问题。但你问:

该软件包openssl=1.0.1-4ubuntu5.31不再位于 Precise 存储库中,因为最新版本是1.0.1-4ubuntu5.32。但该软件包仍可在“Ubuntu 安全团队”

对于版本1.0.1-4ubuntu5.31

wget https://launchpad.net/~ubuntu-security/+archive/ubuntu/ppa/+build/7531893/+files/openssl_1.0.1-4ubuntu5.31_amd64.deb
sudo dpkg -i openssl_1.0.1-4ubuntu5.31_amd64.deb

但我怀疑你必须降级列出的其他软件包这里

降级是暂时的。

sudo apt-get upgrade

或者为了更好的感觉

sudo apt-get dist-upgrade

我们将再次安装最新版本。

答案2

根据https://launchpad.net/ubuntu/+source/openssl,任何 12.04(Precise Pangolin)存储库中都不再有1.0.1-4ubuntu5.31该软件包的版本。openssl

openssl截至今日(2015-12-30),12.04唯一可用的版本是:

  • 1.0.1-4ubuntu5.32来自main存储库updatessecurity频道(2015-12-07)
  • 1.0.1-4ubuntu3来自main存储库的release频道(2012-04-19)

您要降级到的版本1.0.1-4ubuntu5.31已被替换,不再可用。您只能降级至1.0.1-4ubuntu3,如果你不介意使用 3 年前的版本(可能包含一些严重的错误和安全漏洞!)或者找到一个 PPA 托管一个不太过时的版本openssl

答案3

Apt 只能安装存储库中实际存在的内容。被取代的软件包将从存储库中删除。Debian 在 snapper.debian.org 上以兼容 apt-get 的形式提供其存储库的旧版本,但我不知道有任何直接适用于 Ubuntu 的版本。

旧版本的 ubuntu 软件包可在启动板上下载。遗憾的是,查找它们的过程并不特别明显。据我所知,您必须手动下载此类软件包并使用 dpkg -i 安装它们

如果你在启动板上访问源包(例如https://launchpad.net/ubuntu/+source/openssl)您可以点击“查看完整发布历史记录”。这将带您进入一个包含大量版本的页面。找到您想要的版本,它将带您进入该版本的页面(例如https://launchpad.net/ubuntu/+source/openssl/1.0.1-4ubuntu5.31) 在该页面上,您将找到针对不同架构的构建链接,这些页面将提供从源代码构建的软件包的下载链接。然后您可以下载它们。

注意:在这种情况下,构建链接转到引用“安全团队 PPA”的页面。据我所知,这是因为安全更新首先在 PPA 中构建,然后才迁移到主 ubuntu 档案中。

PS 请注意,“openssl”二进制包包含工具。openssl 库(我认为您真正关心的)位于“libssl1.0.0”包中。

PPS 如果您不想在下次运行 apt-get upgrade 或类似程序时再次升级该软件包,您将需要设置某种形式的保留或固定来阻止它这样做。

相关内容