linux系統lib64中的libc.so.6版本升級
libc.so.6 是c執行時庫 glibc的軟連結,而系統幾乎所有程式都依賴c執行時庫。程式啟動和執行時,是根據libc.so.6 軟連結找到glibc庫。刪除libc.so.6將導致系統的幾乎所有程式不能工作。
每個glibc.so檔案有它支援的libc版本,可以通過 strings /lib64/libc.so.6 |grep GLIBC_ 檢視,一定要選擇這條命令列出的版本。如果程式編譯的時候連結的libc庫版本不在程式執行環境下的glibc庫支援的libc版本之內,也會報錯。於是,系統的所有命令 ls,cp,cd 等等都無法使用了。
第一步,下載 glibc-2.2.5.tar.gz ,到這裡找你要的版本,
第二步,cd tar glibc-2.2.5,建立臨時目錄 mkdir build
第三步,cd build , 然後執行, ../configure –prefix=/usr/local/glibc-2.2.5
第四步,make && make install
第五步,cp/usr/local/glibc-2.2.5/lib/libc-2.2.5.so /lib64/ ,也就是把編譯好的so複製到/lib64下面
第五步,重建軟體,這一步最重要,操作不當,系統會直接無法使用
1、cd /lib64
2、LD_PRELOAD=/lib64/libc-2.12.so rm libc.so.6
3、 LD_PRELOAD=/lib64/libc-2.2.5.so ln -s /lib64/libc-2.2.5.so libc.so.6