收藏官网首页
查看: 7637|回复: 0

Centos系统 glibc升级有点疑问

36

主题

308

帖子

70

积分

注册会员

Rank: 2

积分
70
跳转到指定楼层
楼主
发表于 2018-2-12 21:04:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
注册成为机智云开发者,手机加虚拟设备快速开发
次看到有同学对Centos系统 glibc升级有点疑问, 不过相对来说glibc升级还是比较简单的, 网上也有很多介绍文章, 这里整理了个安装过程供大家参考下  阅读原文
场景需求
默认的Centos6.5 glibc版本最高为2.12, 而在进行Nodejs开发时项目所依赖的包往往需要更高版本的glibc库支持, 因此在不升级系统的前提下, 需要主动更新系统glibc库. 一般遇到错误libc.so.6: version GLIBC_2.14 not found时表示需要对glibc进行升级了.
glibc版本
查看系统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点击下载, 得到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库glibc软链
安装完成后, 建立软链指向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 此项是系统升级前的版本
感谢丁文翔 <d_9062@qq.com>指出本文遗漏事项!
此时查看系统glibc版本如下图所示:可以看到当前glibc最高版本为2.14, libc.so.6软链指向如下图所示:

G3机智云物联网云服务 287087942
有什么疑问,可以在论坛,qq群(优先在论坛哦,避免重复造轮子)
在论坛提问的回答率是100%!!!!!!!!
希望和大家一起交流学习.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表