系统相关
首页 > 系统相关> > 腾讯云主机ubuntu18升级openssl 1.1.1l(libcrypto.so.1.1报错处理)

腾讯云主机ubuntu18升级openssl 1.1.1l(libcrypto.so.1.1报错处理)

作者:互联网

首先是常规套路,我是用root执行的

cd /root
mkdir update
cd /root/update
openssl version -a

显示我的是1.1.1 ,腾讯提醒我有漏洞,在提醒那里看到最新是1.1.1l版。然后继续常规套路。

wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz    
tar -xzvf openssl-1.1.1l.tar.gz
cd openssl-1.1.1l
./config
make && make install
等几分钟结束后,exit,重进
openssl version -a 
(报错,relocation error: bin/openssl: symbol EVP_mdc2 version OPENSSL_1_1_0 not defined in file libcrypto.so.1.1 with link time reference,大意就是有个东西EVP_mdc2在libcrypto.so.1.1里没定义)

有三种解决办法(其实本质是一样的),推荐用办法一:

一、直接替换原libcrypto.so.1.1

cd /usr/local/lib
mv libcrypto.so.1.1 libcrypto.so.1.1.bak
cp /root/update/openssl-1.1.1l/libcrypto.so.1.1  .

二、让你安装的这个libcrypto.so.1.1被先搜索并使用。

  • 一般来说,程序在加载动态库时 会有以下几个路径需要加载,按照优先级递减:
  • 程序编译时,通过-Wl, -rpath参数指定的路径;
  • 环境变量LD_LIBRARY_PATH指定的路径
  • /etc/ld.so.conf或/etc/ld.so.conf.d/目录下任何一个文件中指定的路径
  • /lib路径
  • /usr/lib路径
  • (这段出处:https://blog.csdn.net/qq_37684467/article/details/115681736,感谢)
echo "/root/update/openssl-1.1.1l" >> /etc/ld.so.conf.d/libc.conf && ldconfig

三、修改原来的软链接指到新libcrypto.so.1.1。
在/usr/local/lib/下执行

ll

可以看到 libcrypto.so -> libcrypto.so.1.1*,因此,理论上把这个 libcrypto.so指到安装路径的libcrypto.so.1.1估计也能解决问题,
我没有实践。

最后,为啥推荐方法一,因为方法二和三必须把安装目录保留着,看着眼烦。

感谢:
https://blog.csdn.net/tiven1/article/details/106592679
https://www.cnblogs.com/ls1519/p/14146801.html
https://blog.csdn.net/qq_37684467/article/details/115681736

标签:libcrypto,1.1,openssl,so.1,报错,so,1l
来源: https://www.cnblogs.com/hlixing/p/15532665.html