yum安装net-snmp引发的libssl.so.10失效导致yum不可用问题

yum作为一个解决包之间依赖关系的安装工具,本来不应该引发更多的依赖问题。但是在实际操作中还是碰上了安装报错导致yum自身不可用的情况。
我在Centos6.4服务器上使用系统自带的Centos-Base.repo安装net-snmp因为安装过程中发现缺少snmpwalk这个工具,就有通过yum 安装net-snmp-libs和net-snmp-devel。
安装过程很顺利,但是装上之后发现yum使用会报错,报错信息如下:

There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
 /usr/lib64/libssl.so.10: symbol private_ossl_minimum_dh_bits, version libcrypto.so.10 not defined in file libcrypto.so.10 with link time reference

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, Feb 22 2013, 00:00:18) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)]

If you cannot solve this problem yourself, please go to 
the yum faq at:

看报错信息又上网查了半天,基本上确定应该是,yum在安装net-snmp相关包的时候升级了openssl的依赖。此时使用openssl version -a 检查openssl版本信息也出现报错version libcrypto.so.10 not defined in file libcrypto.so.10 with link time reference
赶紧查了一下同批的服务器,看到openssl的版本应该是openssl-1.0.1e。看到这个赶紧降级服务器上的openssl。

下载openssl源码包 :

https://www.openssl.org/source/old/1.0.1/openssl-1.0.1e.tar.gz
下载之后解压,通过./config shared zlib-dynamic 来生成Makefile文件。然后执行make 生成
libssl.so.1.0.0
libcrypto.so.1.0.0
将这个两个文件移动到/usr/lib64/目录下
在当前目录下创建软连接

ln -s libssl.so.1.0.0 libssl.so.10
ln -s libcrypto.so.1.0.0e libcrypto.so.10

然后重启sshservice sshd restart
此时问题解决。使用yum --help 命令测试,发现没有新的报错,服务器ssh登录也没有异常。

你可能感兴趣的:(linux操作,yum)