Linux升級zlib版本
在較低版本的Linux安裝服務或插件的時候,可能會遇到因zlib版本不匹配導致安裝無法順利進行,需要對zlib進行升級。
因為zlib會被內核中服務依賴,粗暴升級可能會使ssh,scp等無法使用,導致無法遠程連接服務器。
特記錄正確升級方式。
基本信息
zlib主要文件(zlib為包名,libz為文件名)
/lib64/libz.so.1.2.X
/lib64/libz.so.1
其中,libz.so.1
為軟鏈接
因為服務依賴的關系,我們不好直接對文件進行更替操作。過程中需要使用rpm進行包的安裝,但rpm本身也依賴該zlib
。所以整個修改過程中應保證軟鏈接是有指向目標的。
zlib的rpm各個版本下載地址:http://rpm.pbone.net/results_limit_1_srodzaj_1_dl_40_field[]_1_field[]_2_search_zlib.html
升級步驟
整個過程都為root權限
-
准備好對應需要升級的zlib,放在當前目錄下
-
創建當前版本副本
cp /lib64/libz.so.1.2.XXX /lib64/libz.so.1.2.XXX.ori
-
軟鏈接重定向為備件文件
ln -snf /lib64/libz.so.1.2.XXX.ori /lib64/libz.so.1
-
rpm刪除歷史版本,安裝新版本
# 查看目前版本 yum list zlib ## yum list zlib |grep Installed -A1|grep -v Installed # 卸載zlib rpm -e --nodeps zlib # 本地安裝新版本 rpm -ivh ./zlib-1.2.XXX.x86_64.rpm # 查看新安裝版本 yum list zlib rpm -qa |grep zlib
-
軟鏈接重定向為新文件(安裝卸載后,原本文件已替換)
ln -snf /lib64/libz.so.1.2.XXX /lib64/libz.so.1
注意點
rpm 對zlib包的安裝卸載后,如無軟鏈接指向備份文件,會導致SSH和yum,rpm等無法使用
zlib包的升級需要結合系統其他服務依賴情況,通常用於Linux6.3內的zlib1.2.3-27
版本升級到zlib1.2.3-29