在RHEL6.5中对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 test]# 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 17:31 /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 17:31 /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,如是rhel系统,首先执行yum update openssl命令升级openssl版本,然后在安装1.0.1g版本即可,等yum源里有最新的1.0.1g版本,可直接yum update到最新了~~~
也可直接安装相应rpm包
虚机环境下,可挂载本地ISO镜像来安装。