centos6.5升级glibc-2.18

现状

默认情况下centos6.5自带的glibc版本为glibc-2.12,很多运行在centos上的应用需要高版本glic才能成功编译和安装,下面一起来升级至glibc-2.18版本吧。

必读

glibc是centos非常底层的基础程序,如果升级失败可能会导致基础命令不好用的情况,千万不要直接退出窗口,这样你就连不进来了。按照解决问题的思路进行处理即可。如果升级失败,先尝试还原glibc,实在不行在重新安装操作系统。如果有快照,建议使用快照进行恢复。

准备

查询当前版本

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

点击如下连接下载glibc-2.18.tar.gz源码包http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gzhttp://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz

安装

将 glibc-2.18.tar.gz上传到centos系统中,运行如下命令,安装过程比较长,预计十分钟。安装之后也可能会遇到其他问题,可以先看看后面的问题解决方法。防止措手不及。

> tar -zxvf glibc-2.18.tar.gz 
> cd glibc-2.18
> mkdir build
> cd build
> ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
> make -j4
> make install

验证

> ldd --version
> strings /lib64/libc.so.6 |grep GLIBC_

正确如下

 

解决问题

export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH
LD_PRELOAD=/lib64/libc-2.18.so rm -fr /lib64/libc.so.6
LD_PRELOAD=/lib64/libc-2.18.so ln -s /lib64/libc-2.18.so /lib64/libc.so.6	

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保持一致:

> export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH
> LD_PRELOAD=/lib64/libc-2.18.so rm -fr /lib64/libc.so.6
> LD_PRELOAD=/lib64/libc-2.18.so ln -s /lib64/libc-2.18.so /lib64/libc.so.6		

然后在尝试基本命令是否正常,如果基本命令正常,验证下glibc是否升级成功。如果很不幸你的glibc升级失败了,继续尝试以下命令,将glibc还原到之前的版本:

> LD_PRELOAD=/lib64/libc-2.12.so rm -fr /lib64/libc.so.6
> LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6

然后在继续尝试基础命令是否好用。基础命令好用之后,继续排查你在升级过程中遇到的问题即可。思路是临时加载之前好用的库文件,然后使用库文件即可恢复系统。

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

y打伞的鱼y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值