默认情况下centos6.5自带的glibc版本为glibc-2.12,很多运行在centos上的应用需要高版本glic才能成功编译和安装,下面一起来升级至glibc-2.18版本吧。
必读
glibc是centos非常底层的基础程序,如果升级失败可能会导致基础命令不好用的情况,千万不要直接退出窗口,这样你就连不进来了。按照解决问题的思路进行处理即可。如果升级失败,先尝试还原glibc,实在不行在重新安装操作系统。如果有快照,建议使用快照进行恢复。
准备
查询当前版本
点击http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz下载glibc-2.18.tar.gz源码包
安装
将 glibc-2.18.tar.gz上传到centos系统中,运行如下命令,安装过程比较长,预计十分钟。安装之后也可能会遇到其他问题,可以先看看后面的问题解决方法。防止措手不及。
验证
结果
验证版本信息是否为2.18
解决问题
make install 之后可能会遇到以下问题:
make[1]: *** [install] Segmentation fault
error while loading shared libraries: __vdso_time: invalid mode for dlopen(): Invalid argument
一但上面两个问题出现,你会发现基本命令也失效了。这是因为/lib64/libc.so.6 这个文件已经在安装过程中被改变了。因此,你先尝试运行如下,让你的环境变量和你现在的glibc保持一致:
然后在尝试基本命令是否正常,如果基本命令正常,验证下glibc是否升级成功。如果很不幸你的glibc升级失败了,继续尝试以下命令,将glibc还原到之前的版本:
然后在继续尝试基础命令是否好用。基础命令好用之后,继续排查你在升级过程中遇到的问题即可。思路是临时加载之前好用的库文件,然后使用库文件即可恢复系统。