美文网首页
Linux依赖升级系列(二)——升级glibc依赖库

Linux依赖升级系列(二)——升级glibc依赖库

作者: moutory | 来源:发表于2024-06-29 12:01 被阅读0次

前言

本篇文章主要介绍glibc依赖库的升级,内容不多,直接上干货

(一)升级背景

glibc,即GNU C Library,是Linux和其他类Unix操作系统中最常用的C标准库的实现。它提供了许多基本的系统调用和功能,是操作系统内核和用户空间应用程序之间的桥梁。简单来说,glibc是Linux系统中最基础的组件之一,几乎所有的应用程序都直接或间接地依赖于它。没有特殊情况的话,都不建议升级glibc库,尤其是生产环境,防止出现升级后出现服务不可用的问题

笔者需要升级的glibc库的背景是安装一个高版本的nginx,启动的时候报如下问题:

./sbin/nginx: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by ./sbin/nginx)

从报错信息可以看到,这里提示我们nginx服务依赖了glibc2.17的版本,我们可以通过下面的命令来先检查当前服务器的glibc库的版本

 ldd --version

(二)升级glibc库

步骤1:下载所需版本的glibc

下载路径:http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz 有需要其他版本的自行在(http://ftp.gnu.org/gnu/glibc/)里面下载
下载完成后,自行上传和解压到相关的目录即可,这里的目录没有什么太大限制

cd /opt/glibc_update
tar -xvf  glibc-2.17.tar.gz 
步骤2:创建编译目录
cd glibc-2.17
mkdir build
cd build
步骤3:配置编译参数
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
步骤4:备份原有文件
cp /lib64/libc.so.6 /lib64/libc.so.6.bak
步骤5:多核心编译
make -j16 && make -j16 install
步骤6:验证是否安装完成

若结果有GLIBC_2.17就说明升级成功了

strings /lib64/libc.so.6 | grep GLIBC
image.png

需要注意的是,这种方式虽然可以升级成功,操作的步骤也不繁琐,但是还是有一定风险的,一旦升级失败可能原先系统上面会出现各种命令都用不了,ssh再也连接不上服务器的问题,所以升级的过程中要做好服务的备份,且glibc升级的跨度不要太大,不追求新,而是要追求稳

相关文章

网友评论

      本文标题:Linux依赖升级系列(二)——升级glibc依赖库

      本文链接:https://www.haomeiwen.com/subject/hmkucjtx.html