写在前面的话:就一句,这个东西千万千万千万(重要的话说三遍)小心,一不留神可能就导致系统瘫痪,很麻烦的,我这里是CentOS6.* x64的操作系统。

1.查看系统glibc支持的版本

strings /lib64/libc.so.6 |grep GLIBC_

图片中是系统中已支持的GLIBC版本

2.下载安装包

http://www.gnu.org/software/libc/下载最新版本,我这里下载了glibc-2.14.tar.xz (http://mirror.bjtu.edu.cn/gnu/libc/glibc-2.14.tar.xz)这个版本

3.开始编译安装

记得源码包的位置不要和下文中的../configure --prefix=/etc/glibc-2.14中的--prefix=/etc/glibc-2.14位置相同,不然在make过程中会出现如下错误报错:glibc-2.14/include/limits.h' are the same file,如果出现了这个错误,不着急,将源码包换个位置继续make就行

cd /usr/local/src
wget http://mirror.bjtu.edu.cn/gnu/libc/glibc-2.14.tar.xz
tar -Jxvf glibc-2.14.tar.xz
cd  glibc-2.14
mkdir build
cd build
../configure --prefix=/etc/glibc-2.14
make -j4

复制ld.so.conf,可以通过find / -name "ld.so.conf"来查找

cp /etc/ld.so.conf /etc/glibc-2.14/etc/ld.so.conf

如果不经过上一步ld.so.conf的复制,那么在make install过程中出现如下错误:

Can't open configuration file /etc/glibc-2.14/etc/ld.so.conf: No such file or directory
make install

4.修改环境变量

临时

export LD_LIBRARY_PATH=/etc/glibc-2.14/lib:$LD_LIBRARY_PATH

永久

vi /etc/bashrc

在底部加入

export LD_LIBRARY_PATH=/etc/glibc-2.14/lib:$LD_LIBRARY_PATH

保存,执行source生效

source /etc/bashrc

5.修改/lib64/libc.so.6的软链接来源,由之前的libc-2.12.so修改为libc-2.14.so

这里有必要停顿一下,警告,下一步步你要有一个非常稳定的网络,或者在VNC里面操作,因为在你删除原来的软连接后、创建新的软连接之前这个中间时刻,你很多操作可能因为原来的glic软连接被删除导致很多shell命令无法执行,这个时候只能在当前窗口操作,如果控制台窗口关闭那就麻烦了,用到glibc的东西实在是太多了,看看编译时间就让人头皮发麻

cp /etc/glibc-2.14/lib/libc-2.14.so /lib64/
unlink /lib64/libc.so.6

如果这里报错了:error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory你需要输入ldconfig,然后再创建软连接

ln -s /lib64/libc-2.14.so /lib64/libc.so.6

6.再次查看系统glibc支持的版本

strings /lib64/libc.so.6 |grep GLIBC

可以看到已经支持2.14版本了

Last modification:April 22nd, 2020 at 11:05 am