##背景:centos6.5 nimimal
上次為了安裝zabbix,安裝完之后,發現發送不了郵件,查看官網,說必須依賴於curl7.20以上,然后就把原來的curl7.19的升級成7.53.1版本。
結果悲劇了,yum不能用了,報錯python2.7版本問題。但是不是python本身的問題,因為剛升級完libcurl跟curl就出現的問題,檢查原因,問題就出來了升級libcurl同時吧libcurl.so.4庫升級了,從libcurl.so.4.1.1升級到了libcurl.so.4.1.1。然后手動從別的服務器拷貝了libcurl.so.4.1.1將/usr/lib/libcurl.so.4軟鏈接強制指向了libcurl.so.4.1.1,命令是ln -sf libcurl.so.4.1.1 libcurl.so.4。yum恢復,終於yum能用了。
但是問題沒有根本得到解決,終於,今天在用到curl的時候,發現curl不能訪問https協議的網站。報錯:curl: (2) Failed initialization
沒辦法,只好想辦法將curl以及libcurl刪除重裝。查了好久yum怎么樣從高版本降低版本都沒有得到結果,沒辦法,為了還原當時安裝的時候場景,裝了一台虛擬機驗證。
在升級curl以及libcurl的時候,下載了如下安裝包
Downloading Packages:
(1/6): c-ares-1.13.0-3.0.cf.rhel6.x86_64.rpm | 97 kB 00:02
(2/6): curl-7.57.0-1.0.cf.rhel6.x86_64.rpm | 494 kB 00:13
(3/6): libcurl-7.57.0-1.0.cf.rhel6.x86_64.rpm | 427 kB 00:14
(4/6): libmetalink-0.1.3-4.rhel6.x86_64.rpm | 24 kB 00:00
(5/6): libnghttp2-1.6.0-1.el6.1.x86_64.rpm | 56 kB 00:00
(6/6): libssh2-1.8.0-5.0.cf.rhel6.x86_64.rpm
並且對安裝包進行了安裝
Installing : c-ares-1.13.0-3.0.cf.rhel6.x86_64 1/9
Updating : libssh2-1.8.0-5.0.cf.rhel6.x86_64 2/9
Installing : libmetalink-0.1.3-4.rhel6.x86_64 3/9
Installing : libnghttp2-1.6.0-1.el6.1.x86_64 4/9
Updating : libcurl-7.57.0-1.0.cf.rhel6.x86_64 5/9
Updating : curl-7.57.0-1.0.cf.rhel6.x86_64 6/9
Cleanup : curl-7.19.7-53.el6_9.x86_64 7/9
Cleanup : libcurl-7.19.7-53.el6_9.x86_64 8/9
Cleanup : libssh2-1.4.2-1.el6.x86_64 9/9
Verifying : libnghttp2-1.6.0-1.el6.1.x86_64 1/9
Verifying : libmetalink-0.1.3-4.rhel6.x86_64 2/9
Verifying : libssh2-1.8.0-5.0.cf.rhel6.x86_64 3/9
Verifying : libcurl-7.57.0-1.0.cf.rhel6.x86_64 4/9
Verifying : curl-7.57.0-1.0.cf.rhel6.x86_64 5/9
Verifying : c-ares-1.13.0-3.0.cf.rhel6.x86_64 6/9
Verifying : libssh2-1.4.2-1.el6.x86_64 7/9
Verifying : libcurl-7.19.7-53.el6_9.x86_64 8/9
Verifying : curl-7.19.7-53.el6_9.x86_64
還原了場景之后,知道安裝了哪些包,升級了哪些包,所以打算強制刪除高版本的安裝包(不能直接yum remove curl,會報錯,別的軟件依賴,不能卸載,所以必須強制卸載rpm -e --nodeps):
rpm -e --nodeps curl,rpm -e --nodeps libcurl,rpm -e --nodeps libssh2-1.8.0-5.0.cf.rhel6.x86_64, rpm -e c-ares-1.13.0-3.0.cf.rhel6.x86_64,rpm -e libmetalink-0.1.3-4.rhel6.x86_64,rpm -e libnghttp2-1.6.0-1.el6.1.x86_64
然后從centos6.5 nimimal安裝光盤中找到了被清除了的三個安裝包進行手動安裝:rpm -ivh rpm -ivh curl-7.19.7-37.el6_4.x86_64.rpm ....
由此來恢復curl,libcurl的低版本
原創,轉載需說明出處!!