当前位置: 代码网 > it编程>数据库>MsSqlserver > 解决生产环境遇到的curl和yum命令报错问题

解决生产环境遇到的curl和yum命令报错问题

2024年09月30日 MsSqlserver 我要评论
1.背景生产环境进行了漏洞扫描检测出sshd服务的版本漏洞(cve-2024-6387),给出的解决方案是升级最新版本的sshd服务即最新版本9.8,升级sshd服务需要依赖openssl,在升级的同

1.背景

生产环境进行了漏洞扫描检测出sshd服务的版本漏洞(cve-2024-6387),给出的解决方案是升级最新版本的sshd服务即最新版本9.8,升级sshd服务需要依赖openssl,在升级的同时也将openssl版本进行了升级,升级的openssl版本是openssl-1.1.1l。

使用的操作系统是银河麒麟v10sp2 arm64。

2.过程

升级完成后ssh服务测试正常使用没有问题

但是curl和yum命令执行时分别出现了如下报错

curl: relocation error: /lib64/libcurl.so.4: symbol sslv3_client_method version openssl_1_1_0 not defined in file libssl.so.1.1 with link time reference

curl命令报错如下

yum命令报错如下

根据报错分析是升级openssl的版本和现有的版本的libcurl.so.4的文件不兼容导致,因此也查询了资料进行了修复,但是都没有效果,最终决定重新编译安装curl命令试试。

编译安装curl命令如下

  • step1:下载curl源码包
wget https://curl.se/download/curl-8.8.0.tar.gz
  • step2:解压
tar xf curl-8.8.0.tar.gz
  • step3:编译(使用刚才升级的openssl作为依赖)
cd curl-8.8.0/
./configure --prefix=/usr/src --with-ssl=/usr/local/ssl
  • step4:安装
make && make install

编译安装完成后会在/usr/src/目录下生成4个目录/usr/src/{bin,include,lib,share},curl命令的可执行文件在bin目录下,我们可以进行测试一下:

测试curl命令可以正常使用,但是yum命令还不行

此时我们可以查看新编译安装的curl命令的lib目录/usr/src/lib目录下有libcurl.so.4软连接的文件

我们将原机器的libcurl.so.4文件进行备份,用新编译的文件进行一个替换操作

[root@ths01 ~]# ls -l /lib64/libcurl.so.4
lrwxrwxrwx 1 root root 16 jun  8  2020 /lib64/libcurl.so.4 -> libcurl.so.4.6.0
[root@ths01 ~]# mv /lib64/libcurl.so.4.6.0 /lib64/libcurl.so.4.6.0_bak
[root@ths01 ~]# chmod +x libcurl.so.4.8.0
[root@ths01 ~]# mv libcurl.so.4.8.0 /lib64/libcurl.so.4.6.0

此时们再次使用curl和yum命令就会恢复正常

3.结论

在生产环境升级ssh服务过程中尽量不升级openssl版本,其它跟openssl相关的操作也是一样,避免对其它依赖旧版openssl的命令或者组件带来影响,虽然影响范围不是很大,也算是一个小的问题,因此需要谨慎操作。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com