glibc版本升级

升级glibc极可能造成系统无法执行命令,请谨慎升级


安装jdk1.8需要glibc 2.4版本

查看glibc版本为2.3.4

image.png


升级步骤:

cp -a /lib/ /lib.2.3.4            #复制旧版本lib库文件

ldd /bin/ls                #查看coreutils的应用程序依赖动态链接库文件位置,后面需要切换到该目录执行操作

image.png

#下载安装

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指向不同版本的库文件导致安装失败。

image.png


执行如下命令:

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版本

image.png

升级成功


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章