导航菜单

RedHat6.5升级glibc版本过程分享

陆兴东 2026-04-09 20 浏览 Linux

一、升级需求

默认的RedHat6.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_

RedHat6.5输出如下glibc版本列表, 从此图可以看出系统最高支持glibc的2.12版本:

image.png

另外, 执行# ls -lrt /lib64/libc*可以看到此时的libc.so.6是libc-2.12.so的别名, 如下图所示:

image.png

三、glibc安装

3.1、下载glibc安装包,并编译安装

首先, 点击此处下载glibc点击下载(http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz), 得到glibc-2.14.tar.gz之后,需要编译安装,操作如下:

# tar -xzvf glibc-2.14.tar.gz
#cd glibc-2.14
# mkdir build       ----在glibc-2.14目录下建立build文件夹
#cd build
# ../configure --prefix=/opt/glibc-2.14     ----配置glibc并设置glibc-2.14安装目录,我这里安装在了/opt目录下了,大家也可以根据自己的实际情况,更换安装目录。
# make && make install        ----编译安装glibc-2.14库

3.2、创建glibc软链接

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 ----创建新的glibc软链接
注:删除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.6libc-2.12.so 此项是系统升级前的版本
# strings /lib64/libc.so.6 |grep GLIBC_

此时查看系统中glibc版本如下图所示:

image.png

通过以下名利可以看到系统中当前glibc最高版本为2.14, libc.so.6软链指向如下图所示: 

 # ls -lrt /lib64/libc*

image.png

 

到此为止,系统中的glibc的版本已成功升级完成。

注:升级有风险,升级前一定要做好充分的备份,访止出现问题后,可快速恢复,希望大家谨慎执行