这次又是瞎折腾,在调试某个软件的时候一直出现错误然后根据解决文档需要更高版本的glibc版本库。这里我用的CentOS6环境默认最高的glibc2.12,然后尝试升级版本库。在这篇文章中大鸟准备记录这次升级glibc2.14版本库的过程。
这里需要注意的一个问题,我们不要轻易在真实生产环境中直接安装,因为升级的过程中比较容易出现系统出错(切记需要备份备份),总之如果不是折腾或者是实际需要,我们也不要轻易动底层的东西。
备注信息:谨慎操作,由于删除软连接后会导致系统各种无法操作,不要在生产环境直接操作。
第一、查看系统glibc版本库
strings /lib64/libc.so.6 |grep GLIBC_
这里我们可以看到系统中最新的版本是2.12,这里我们升级2.14.
第二、下载和安装glibc2.14
wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
tar -xzvf glibc-2.14.tar.gz
cd glibc-2.14
mkdir build
cd build
../configure --prefix=/opt/glibc-2.14
make && make install
编译安装过程时间比较长。
第三、创建软链接
1、删除原来软链
rm -rf /lib64/libc.so.6 //谨慎操作后不要乱动
2、解决补救问题
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
因为操作删除软链接后系统无法操作任何命令,我们需要复制上命令操作后才可以。(要谨慎)
3、创建新软链接
ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
第四、查看当前新的glibc版本库
本文有参考"http://cnodejs.org/topic/56dc21f1502596633dc2c3dc",这里我们可以看到版本库中有最新的glibc2.14。不过大鸟并不是感觉较好的解决方法,好像过程并不是简单有效,尤其是删除软连接后导致系统无法操作。有没有更好的方法,网友给点建议。