RedHat/CentOS安装glibc2.14

glibc作为Linux系统的基础API,对于软件兼容性至关重要。本文介绍了glibc的作用、功能模块,以及如何在遇到版本不兼容问题时,手动升级glibc到2.14的步骤,包括下载、编译、安装和设置环境变量。同时提醒,升级前务必做好系统备份,因为错误操作可能导致系统崩溃。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

glibc介绍

glibc是linux系统中最底层的api(应用程序开发接口),几乎其它任何的运行库都会倚赖于glibc。glibc本身是GNU旗下的C标准库,后来逐渐成为了Linux的标准c库,而Linux下原来的标准c库Linux libc逐渐不再被维护。Linux下面的标准c库不仅有这一个,如uclibc、klibc,以及上面被提到的Linux libc,但是glibc无疑是用得最多的。glibc在/lib目录下的.so文件为libc.so.6。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现,主要的如下:

  • string,字符串处理
  • signal,信号处理
  • dlfcn,管理共享库的动态加载
  • direct,文件目录操作
  • elf,共享库的动态加载器,也即interpreter
  • iconv,不同字符集的编码转换
  • inet,socket接口的实现
  • intl,国际化,也即gettext的实现
  • io
  • linuxthreads
  • locale,本地化
  • login,虚拟终端设备的管理,及系统的安全访问
  • malloc,动态内存的分配与管理
  • nis
  • stdlib,其它基本功能

在实际开发中,经常会遇到"libc.so.6: version `GLIBC_2.14' not found",主要是因为RedHat系追求稳定,对于glibc版本太过于保守,而在Ubuntu上则相对更激进,Ubuntu14的glibc版本就已经是2.19了,而RedHat7/CentOS7上的版本甚至还是2.12。因此经常会遇到升级glibc版本的需求,但是升级前一定要做好虚拟机备份或者拍快照,因为glibc是linux系统最底层的api,一旦出错整个系统都会崩掉。警慎升级。

查看glibc版本

ldd --version
# 或
rpm -qa | grep glibc

1. 下载glibc2.14并解压

wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
tar xvf glibc-2.14.tar.gz

2. 在解压目录中创建build文件夹

cd glibc-2.14

mkdir build
cd build

3. 配置并编译

 …/configure --prefix=/opt/glibc-2.14
 
 make
 sudo make install

4. 写入环境变量并覆盖旧版本glibc

 export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH
 
 sudo cp /opt/glibc-2.14/libc-2.14.so /lib64/
 cd /lib64
 sudo ln -snf libc-2.14.so libc.so.6

5. 查看当前glibc版本

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值