(六) 更新glibc版本

glibc版本太低,造成个别脚本会执行报错,如下错误

(六)	更新glibc版本

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

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

 (六)	更新glibc版本

可以看到最高只支持2.12版本,所以考虑编译解决这个问题:

2、到http://ftp.gnu.org/gnu/glibc/下载最新glibc版本

我这里下载了glibc-2.14.tar.xz这个版本,解压到任意目录准备编译

   这里解压到/home/VMdisks/glibc-2.14/

(六)	更新glibc版本

3、在glibc源码目录建立构建目录,并cd进入构建目录

[[email protected] glibc-2.14]$ mkdir build  

[[email protected] glibc-2.14]$ cd build  

4、运行configure配置,make&& sudo  make install

1. [[email protected] build]$ ../configure --prefix=/opt/glibc-2.14  

2. [[email protected] build]$ make -j4   

3. [[email protected] build]$ sudo make install  

5、临时修改环境变量

1. [[email protected] bin]$ export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH  

6、修改软连接。

这里要注意,更新系统里的链接(我的是/lib64/libc.so.6) 很容易出错,我不清楚有没有更好的办法,一般都是删除旧链接,建立新链接。但删除旧链接后,很多命令直接不能用了,因为此时中不到glibc的库了。这个时候就需要临时指定一个glibc库,方法如下(libc.so改个名以便好以后更新的其他版本区分):

1. [[email protected] bin]$ cp/opt/glibc-2.14/lib/libc-2.14.so /lib64/libc-2.14.so

2. [[email protected] bin]$ rm–f /lib64/libc.so.6

3. [[email protected] bin]$ LD_PRELOAD=/lib64/libc.so.6ln -s /lib64/libc-2.14.so /lib64/libc.so.6

4. [[email protected] bin]$strings /lib64/libc.so.6 |grep GLIBC

(六)	更新glibc版本