解決生產(chǎn)環(huán)境遇到的curl和yum命令報(bào)錯問題
1.背景
生產(chǎn)環(huán)境進(jìn)行了漏洞掃描檢測出sshd服務(wù)的版本漏洞(CVE-2024-6387),給出的解決方案是升級最新版本的sshd服務(wù)即最新版本9.8,升級sshd服務(wù)需要依賴openssl,在升級的同時也將openssl版本進(jìn)行了升級,升級的openssl版本是openssl-1.1.1l。
使用的操作系統(tǒng)是銀河麒麟V10SP2 arm64。
2.過程
升級完成后ssh服務(wù)測試正常使用沒有問題
但是curl和yum命令執(zhí)行時分別出現(xiàn)了如下報(bào)錯
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命令報(bào)錯如下
yum命令報(bào)錯如下
根據(jù)報(bào)錯分析是升級openssl的版本和現(xiàn)有的版本的libcurl.so.4的文件不兼容導(dǎo)致,因此也查詢了資料進(jìn)行了修復(fù),但是都沒有效果,最終決定重新編譯安裝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命令的可執(zhí)行文件在bin目錄下,我們可以進(jìn)行測試一下:
測試curl命令可以正常使用,但是yum命令還不行
此時我們可以查看新編譯安裝的curl命令的lib目錄/usr/src/lib目錄下有l(wèi)ibcurl.so.4軟連接的文件
我們將原機(jī)器的libcurl.so.4文件進(jìn)行備份,用新編譯的文件進(jìn)行一個替換操作
[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命令就會恢復(fù)正常
3.結(jié)論
在生產(chǎn)環(huán)境升級ssh服務(wù)過程中盡量不升級openssl版本,其它跟openssl相關(guān)的操作也是一樣,避免對其它依賴舊版openssl的命令或者組件帶來影響,雖然影響范圍不是很大,也算是一個小的問題,因此需要謹(jǐn)慎操作。
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
linux特殊權(quán)限使用(suid、sgid、sbit)
這篇文章主要介紹了linux特殊權(quán)限使用(suid、sgid、sbit),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08LINUX服務(wù)器安裝SVN服務(wù)實(shí)現(xiàn)方式
本文介紹了如何使用yum安裝Subversion,創(chuàng)建版本庫,配置SVN服務(wù),并解決常見問題,詳細(xì)步驟包括安裝Subversion,查看安裝版本和位置,創(chuàng)建存放版本庫的目錄及svn版本庫,配置權(quán)限控制,啟動svn版本庫,以及處理端口訪問權(quán)限等2024-09-09Linux低電量自動關(guān)機(jī)的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于Linux低電量自動關(guān)機(jī)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用linux具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11ubuntu19系統(tǒng)及以下版本安裝android studio的教程
這篇文章主要介紹了ubuntu19系統(tǒng)及以下版本安裝android studio的教程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10Linux PXE高效批量網(wǎng)絡(luò)裝機(jī)過程
PXE(預(yù)啟動執(zhí)行環(huán)境)是一種網(wǎng)絡(luò)引導(dǎo)技術(shù),允許從遠(yuǎn)程服務(wù)器通過網(wǎng)絡(luò)下載引導(dǎo)鏡像來安裝操作系統(tǒng),本文介紹了PXE的優(yōu)點(diǎn)如規(guī)?;?、自動化和遠(yuǎn)程實(shí)現(xiàn),以及搭建PXE服務(wù)器的基本步驟,包括安裝和配置TFTP、DHCP服務(wù)2024-09-09Linux下php連接SQLServer 2000數(shù)據(jù)庫的配置方法
Linux服務(wù)器中的php程序能夠連接到Windows服務(wù)器中的SQL Server 2000數(shù)據(jù)庫,這里分享下配置方法,需要的朋友可以參考下2013-06-06