升級glibc極可能造成系統無法執行命令,請謹慎升級
安裝jdk1.8需要glibc 2.4版本
查看glibc版本爲2.3.4
升級步驟:
cp -a /lib/ /lib.2.3.4 #複製舊版本lib庫文件
ldd /bin/ls #查看coreutils的應用程序依賴動態鏈接庫文件位置,後面需要切換到該目錄執行操作
#下載安裝
wget https://mirrors.tuna.tsinghua.edu.cn/gnu/glibc/glibc-2.4.tar.gz
tar -zxvf glibc-2.4.tar.gz
cd glibc-2.4
mkdir build && cd build
../configure --prefix=/usr/ --with-headers=/usr/include
make
make install
執行make install後會有如下報錯,因爲在make install的時候,/lib/ld-linux.so.2從ld-2.3.4.so指向了ld-2.4.so,但/lib/tls/libc.so.6仍然指向 /lib/tls/libc-2.3.4.so。/lib/ld-linux.so.2和lib/tls/libc.so.6指向不同版本的庫文件導致安裝失敗。
執行如下命令:
cd /lib/tls/ #動態鏈接庫文件位置
#/lib.2.3.4是舊lib庫目錄
LD_LIBRARY_PATH=/lib.2.3.4 /lib.2.3.4/ld-linux.so.2 /bin/cp -f ../libthread_db-1.0.so .
LD_LIBRARY_PATH=/lib.2.3.4 /lib.2.3.4/ld-linux.so.2 /bin/cp ../libc-2.4.so .
LD_LIBRARY_PATH=/lib.2.3.4 /lib.2.3.4/ld-linux.so.2 /bin/cp ../libm-2.4.so .
LD_LIBRARY_PATH=/lib.2.3.4 /lib.2.3.4/ld-linux.so.2 /bin/cp ../libpthread-2.4.so .
LD_LIBRARY_PATH=/lib.2.3.4 /lib.2.3.4/ld-linux.so.2 /bin/cp ../librt-2.4.so .
LD_LIBRARY_PATH=/lib.2.3.4 /lib.2.3.4/ld-linux.so.2 /bin/ln -sf libc-2.4.so libc.so.6
LD_LIBRARY_PATH=/lib.2.3.4 /bin/ln -sf libm-2.4.so libm.so.6
LD_LIBRARY_PATH=/lib.2.3.4 /bin/ln -sf libpthread-2.4.so libpthread.so.0
LD_LIBRARY_PATH=/lib.2.3.4 /bin/ln -sf librt-2.4.so librt.so.1
切換到安裝目錄繼續安裝
cd /root/glibc-2.4/build && make install
查看glibc版本
升級成功