为什么“apt-get install openssl”没有安装最新版本的OpenSSL?

23

当我使用 'apt-get install openssl' 命令时,我的 Ubuntu 16.04 安装了 OpenSSL 1.0.2g 版本。我期望安装的是 1.1.0 版本。

为什么没有安装 1.1.0 版本?我该如何安装最新版本?

谢谢。


Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎与编程或开发无关,因此不属于适当的主题。请查看帮助中心中的[我可以在这里问什么样的问题](http://stackoverflow.com/help/on-topic)。也许更适合去[超级用户](http://superuser.com/)或[Ask Ubuntu](http://askubuntu.com/)提问。 - jww
“我该如何安装最新版本?” - 请参阅 OpenSSL 维基上的“编译和安装”页面。您也可以在 Ubuntu PPA 中找到相应的安装包。 - jww
12
涉及编程和开发生态系统,因此不是离题的。 - egidiocs
2个回答

50

您应该在OpenSSL的网站上选择您想要安装的版本。看起来您想要安装1.1.0版。所以,请按照以下步骤进行。

wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz
tar xzvf openssl-1.1.0f.tar.gz
cd openssl-1.1.0f
./config -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)'
make
sudo make install

openssl version -a

做完了,就是这么简单。 祝你好运。


1
这取决于您的目的和环境。如果您只是在计算机上安装不同版本的OpenSSL,只需安装新版本即可。如果涉及到更多内容,请告诉我您具体要做什么。 - edson.a.soares
2
make 命令中不需要使用 sudo。如果您要安装到需要 root 权限的位置,则可能需要在 make install 中使用它。 - Keith Thompson
1
嗨,@RanPaul。我看到Keith已经回答了你的问题。我认为关于这个问题没有更多要说的了。有关在运行make时出现“sudo”问题,大多数情况下是正确的。谢谢,Keith。我会纠正这个答案。它的一个实际示例是这样来安装Google测试框架。一旦您到达需要root权限的位置,您将需要sudo - edson.a.soares
4
这个建议太鲁莽了,不要仅仅下载系统中使用的预编译软件包的原始代码并进行make install。这样会导致很多问题,最终你的系统将同时存在两个版本的OpenSSL:一个由apt管理在/usr下,另一个手动安装在/usr/local下。当你更新到新的Ubuntu版本时,apt会更新它的版本,而这个手动安装的版本则会被留下来。根据环境变量,本地构建的程序可能会与其中一个版本链接。长期来看,这会造成混乱,短期内也可能会出现问题。 - dannysauer
1
不!这不是鲁莽的建议。这是一种安装Open SSL的简单方法,适用于简单情况。当然,并不适用于所有场景。没有一个解决方案可以适用于所有情况。考虑到具体情况,有很多可能性。这就是为什么我要求更多信息,如果它不仅仅是在个人电脑上安装OpenSSL。 - edson.a.soares
显示剩余4条评论

1
如果您正在使用Ubuntu 18+,则版本1.1.0现在可以通过apt获得。
您还可以使用apt list openssl查看可以更新的内容。甚至可以添加-a修改器以显示所有可用版本。

1
不行。1.1.x目前无法通过apt获取(截至2019年10月)。使用的是Ubuntu 16.04.6 LTS。成功执行了“apt update”。现在“apt list openssl -a”的输出结果只显示了1.0.2。引用如下:Listing... Done openssl/xenial-updates,xenial-security, 现在已安装1.0.2g-1ubuntu4.15 amd64 openssl/xenial 1.0.2g-1ubuntu4 amd64 - Dmitry Shevkoplyas
是的。抱歉,看起来1.1.1只在Ubuntu 18.0+ LTS中可用。我会将其添加到我的答案中。谢谢! - Tyler Christian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接