首先,我尝试从 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 安装之外的所有安装,但由于我不知道您的系统状态,因此这可能很危险。