1. 程式人生 > >linux系統lib64中的libc.so.6版本升級

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 ,到這裡找你要的版本,

http://ftp.gnu.org/gnu/glibc/,然後解壓 tar -xzvf 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