问题描述
我想在 Ubuntu 12.04 系统上将 OpenSSL 升级到 1.0.1。我注意到 apt-get upgrade openssl
最终不会升级 OpenSSL。 Ubuntu 是否支持较新的 OpenSSL?
我也尝试过从源代码编译。编译工作,但我不知道如何用较新的 (1.0.1) 替换 内置 OpenSSL (1.0.0)。从源代码编译使我可以将新版本与旧版本一起使用 – 我需要用新版本替换旧版本。我之所以需要这种需求,是因为最新的 FreeSWITCH 源代码与 OpenSSL 1.0.0 不兼容,而且 FreeSWITCH 中似乎没有 make 配置将其指向新 OpenSSL 的路径。 (所以它顽固地继续使用旧版本并且无法工作!)
谢谢是提前。任何帮助将不胜感激。
最佳思路
注意:这个问题和答案早于 OpenSSL 错误 Heartbleed。
首先你需要完全删除旧的安装:\n(这会破坏大多数系统!小心!大多数人会后悔)\n apt-get purge openssl
你可能想通过运行来打扫房子:
apt-get autoremove && apt-get autoclean
然后你应该下载并编译你想要的版本( full list )
wget https://www.openssl.org/source/openssl-1.0.1g.tar.gz
次佳思路
安装开发包!
在撰写本文时,1.0.1 是 Ubuntu 12.04 的一部分。但是,为了对其进行编译,您还必须安装开发包( libssl-dev
)!
首先更新软件包列表
sudo apt-get update
然后安装开发包并一次性升级库本身:
sudo apt-get install openssl libssl-dev
您可以在这里看到 1.0.1 是 12.04 的一部分:http://packages.ubuntu.com/precise-updates/openssl
如果您的系统仍然安装 1.0.0,则您设置了一些其他存储库,或者您的包管理中的其他内容被更改以导致此错误。在这种情况下,仍然通过运行检查导致它固定在 1.0.0 上的原因
apt-cache policy openssl libssl-dev
第三种思路
尝试从 http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/ 下载最新版本的 libssl
和 openssl
并安装两者。
警告:这将破坏 OpenSSL 的自动安全更新。