在 CentOS 7 中升级 openssl

在 CentOS 7 中升级 openssl

首先,我尝试从 openssl.org 下载源 tarballopenssl-1.0.1s.tar.gz并执行./config && make install,虽然它似乎已成功完成该过程,但我不知道编译后的代码去了哪里,或者它是否已安装,因为我仍然有一个非常旧版本的 openssl linked in /usr/bin/,所以这似乎不起作用。

[root@E345 openssl]# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013

然后,我尝试下载 rpm 包并进行安装rpm -Uvh,看起来安装正确,但出现了大量警告,并且出现了与上述完全相同的结果,

[root@E345 openssl]# rpm -Uvh openssl-1.0.1e-42.el7.9.src.rpm 
Updating / installing...
   1:openssl-1:1.0.1e-42.el7.9        ################################# [100%]
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root

大约有 30 到 40 个相同的警告。

再次,安装 rpm 后,给出相同的输出:

[root@E345 openssl]# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013

我做错了什么/误解了什么?

编辑:意外地从另一台机器粘贴了错误的 OpenSSL 版本

答案1

无论如何,在企业级发行版上编译自定义软件包通常是一种不好的做法。大多数情况下,您应该坚持使用默认发行版软件包,或者仅使用受信任的存储库。

编译自定义软件包和直接使用 RPM 的问题在于,每次更新都比简单的yum update

答案2

当您从 tarball 安装时,二进制文件通常安装在 中/usr/local。您的新 openssl 二进制文件可能位于 中/usr/local/bin。但安装 rpm 会更简单。

您安装了一个源 rpm,其中包含源代码但不包含二进制文件。您需要查找openssl.xyzrpm(和不是 openssl.xyzsrc.rpm)。

答案3

“用户”警告不是问题。

请执行“rpm -qil openssl”和“which openssl”

我怀疑您安装了多个 openssl 版本。'which openssl' 将告诉您 shell 使用的是哪一个版本,而 rpm 将显示 RPM 版本的安装位置。您可能希望删除除 RPM 安装之外的所有安装,但由于我不知道您的系统状态,因此这可能很危险。

相关内容