场景需求
注意更新系统库存在一定的风险, 请谨慎操作
默认的Centos6.5 glibc版本最高为2.12, 而在进行Nodejs开发时项目所依赖的包往往需要更高版本的glibc库支持, 因此在不升级系统的前提下, 需要主动更新系统glibc库. 一般遇到错误libc.so.6: version GLIBC_2.14 not found时表示需要对glibc进行升级了.
glibc版本
查看系统glibc库版本可使用如下命令:
?
1$ 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:
?
1$
tar
-xzvf glibc-2.14.
tar
.gz
当前目录下得到目录glibc-2.14, 执行$cd glibc-2.14命令进入目录, 依次执行如下命令编译安装glibc-2.14:
?
1 2 3 4$
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, 执行如下命令:
?
1 2$
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之后可能导致系统命令不可用的情况, 可使用如下方法解决:
?
1$ 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
如果上述更新失败可使用如下命令还原:
?
1$ 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软链指向如下图所示:
【点击图片进入下一页或下一篇】
- 看不过瘾?点击下面链接!
- CentOS安装后不能连网该如何解决
- CentOS下如何用Vim加密解密文本详解
- Linux查看系统版本的方法汇总
- ubuntu系统无法安装wps怎么办?
- CentOS 7中安装Nvidia GTX1080显卡驱动教程
- Win10数据使用量如何查看