我有一台旧的linux机器(fedeora 9硫磺)我觉得Openssl版本0.9.8g。 我将openssl版本升级到更新的版本,但为不同的命令(见下文)获得不同的输出(见下文)
# yum update openssl
Loaded plugins: refresh-packagekit
Setting up Update Process
Could not find update match for openssl
No Packages marked for Update
# yum info openssl
Loaded plugins: refresh-packagekit
Installed Packages
Name : openssl
Arch : i686
Version : 0.9.8g
Release : 6.fc9
Size : 3.5 M
Repo : installed
Summary : The OpenSSL toolkit
URL : http://www.openssl.org/
License : OpenSSL
Description: The OpenSSL toolkit provides support for secure communications between machines. OpenSSL includes a certificate management tool and shared
: libraries which provide various cryptographic algorithms and protocols.
Available Packages
Name : openssl
Arch : i386
Version : 0.9.8g
Release : 6.fc9
Size : 1.5 M
Repo : fedora
Summary : The OpenSSL toolkit
URL : http://www.openssl.org/
License : OpenSSL
Description: The OpenSSL toolkit provides support for secure communications between machines. OpenSSL includes a certificate management tool and shared
: libraries which provide various cryptographic algorithms and protocols.
# yum install openssl
Loaded plugins: refresh-packagekit
Setting up Install Process
Parsing package install arguments
Package openssl-0.9.8g-6.fc9.i686 already installed and latest version
Nothing to do
# openssl version
OpenSSL 1.0.1e 11 Feb 2013
根据以上输出,我的机器上安装了哪些openssl版本?是1.0.1还是0.9.8g?如果我尝试通过一些脚本使用openssl,它似乎使用0.9.8版本。
答案 0 :(得分:0)
可能你安装了多个openssl版本,一个通过yum,另一个通过rpm或手动编译。
which openssl
会告诉您路径中的版本(1.0.1e)位于何处,rpm -ql openssl
会显示包文件的位置。
答案 1 :(得分:0)
YUM只会了解通过RPM软件包安装的软件。如果您在未使用YUM或RPM软件包的情况下安装了任何软件,YUM将不会记录任何软件。
您肯定在root shell中运行OpenSSL 1.0.1e,因此它位于$ PATH的某处。虽然您也通过RPM在某处安装了OpenSSL 0.9.8g,但根据您安装较新版OpenSSL的方式,某些文件可能已被删除或更改。
您可以使用which
命令检查当前openssl二进制文件的位置,并且可以将其与RPM查询组合以询问是否在包数据库中考虑该文件:
rpm -qf $(which openssl)
如果你得到“文件/ usr / bin / openssl不属于任何软件包”的输出,则它没有安装YUM / RPM,否则它将输出它所属的软件包。
由于您似乎可以安装多个版本的OpenSSL,因此您需要确保使用OpenSSL的所有软件都使用正确的版本。如果没有使用它,安装新版本将无济于事。