首页 » 操作系统 » Linux » openssl从1.0.1e以下版本强制升级后缺失库文件

openssl从1.0.1e以下版本强制升级后缺失库文件

 

前几天由于openssl心脏出血漏洞,对openssl进行了升级,如果老版本是OpenSSL 1.0.1e-fips,那直接安装最新的openssl-1.0.1g-1.x86_64.rpm就行了,但是如果老版本低于1.0.1e,那直接安装1.0.1g版本就会出缺失libssl.so.10和libcrypto.so.10库文件的问题,在启动某服务或者直接yum安装等命令都会出现下面问题;且最严重问题是SSH就连接不上了···
问题:

[root@localhost opt]# yum install openssl
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
 
  libssl.so.10: cannot open shared object file: No such file or directory
 
Please install a package which provides this module, or
verify that the module is installed correctly.
 
It's possible that the above module doesn't match the
current version of Python, which is:
2.6.6 (r266:84292, Jun 18 2012, 14:18:47) 
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)]
 
If you cannot solve this problem yourself, please go to 
the yum faq at:
 http://yum.baseurl.org/wiki/Faq

原因:丢失库文件对应的软链接导致
 
解决方法:
1、首先查看/usr/lib64/目录下(如是32位系统那路径就是/usr/lib/)libssl.so库文件的版本,我的是libssl.so.1.0.0

[root@localhost /]# ll /usr/lib64/libssl.so*
-rwxr-xr-x. 1 root root 479012 Apr  9 13:39 /usr/lib64/libssl.so.1.0.0

2、再查看/usr/lib64/目录下

[root@localhost /]# ll /usr/lib64/libcrypto.so*
-rwxr-xr-x. 1 root root 2200149 Apr  9 13:39 /usr/lib64/libcrypto.so.1.0.0

3、创建软链接(ln源就是上面查出的对应版本的库文件):

ln -s /usr/lib64/libssl.so.1.0.0 libssl.so.10
ln -s /usr/lib64/libcrypto.so.1.0.0 libcrypto.so.10

OK,至此问题已解决了,但是openssl版本依然是老版本,要想升级到1.0.1g,如是centos系统,首先执行yum update openssl命令升级openssl版本,然后在安装1.0.1g版本即可,等日后源里有最新的1.0.1g版本,可直接yum update到最新了~~~

原文链接:openssl从1.0.1e以下版本强制升级后缺失库文件,转载请注明来源!

6