查看系统glibc库版本可使用如下命令:
$ strings /lib64/libc.so.6 |grep GLIBC_
Centos6.5输出如下glibc版本列表, 从此图可以看出系统最高支持glibc的2.12版本:另外, 执行$ ll /lib64/libc**
可以看到此时的libc.so.6是libc-2.12.so的别名, 如下图所示:
首先, 点击此处下载glibc点击下载, 得到glibc-2.14.tar.gz
使用如下命令解压glibc-2.14.tar.gz
:
$ tar -xzvf glibc-2.14.tar.gz
当前目录下得到目录glibc-2.14
, 执行$cd glibc-2.14
命令进入目录, 依次执行如下命令编译安装glibc-2.14:
$ mkdir build // 在glibc-2.14目录下建立build文件夹
$ cd build // 进入build目录
$ ../configure --prefix=/opt/glibc-2.14 // 配置glibc并设置当前glibc-2.14安装目录
$ make && make install // 编译安装glibc-2.14库
执行make install时出现:
/media/linux_install_ai/glibc-2.14/build/elf/ldconfig:
Can't open configuration file/opt/glibc-2.14/etc/ld.so.conf: No such file or directory
make[1]: Leaving directory`/media/linux_install_ai/glibc-2.14'
[root@www build]# find / -name"ld.so.conf"
/etc/ld.so.conf
[root@www build]# cp/etc/ld.so.conf /opt/glibc-2.14/etc/安装完成后, 建立软链指向glibc-2.14, 执行如下命令:
$ rm -rf /lib64/libc.so.6 // 先删除先前的libc.so.6软链
$ ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
注意
删除libc.so.6
之后可能导致系统命令不可用的情况, 可使用如下方法解决:
$ LD_PRELOAD=/opt/glibc-2.14/lib/libc-2.14.so ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
如果上述更新失败可使用如下命令还原:
$ LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6 // libc-2.12.so 此项是系统升级前的版本
感谢
丁文翔
指出本文遗漏事项!
此时查看系统glibc版本如下图所示:可以看到当前glibc最高版本为2.14, libc.so.6软链指向如下图所示: