【linux】之Centos6.x升级glibc

时间:2023-10-17 17:24:04

因为Centos比较保守依赖的glibc最高版本是2.12

rpm -qa|grep glibc

strings /lib64/libc.so. |grep GLIBC_

【linux】之Centos6.x升级glibc

但是经常我们安装一些源码包,则需要2.14以上glibc,这就需要我们升级centos版本所依赖的glibc

本文采用两种方式升级glibc到2.14版本

首先都需要安装gcc gcc++

yum install gcc gcc++

1、rpm升级

glibc一共需要升级四个rpm包,可以到 http://rpm.pbone.net/ 去搜索下载

【linux】之Centos6.x升级glibc

下载完成之后直接升级

【linux】之Centos6.x升级glibc

出现这个error,原因是因为升级glibc时候同时升级依赖包,而依赖包又依赖glibc,这就导致死循环

解决办法:忽略依赖,强制升级

rpm -Uvh --aid --nodeps  glibc-2.14.-.x86_64.rpm  glibc-common-2.14.-.x86_64.rpm  glibc-devel-2.14.-.x86_64.rpm  glibc-headers-2.14.-.x86_64.rpm

【linux】之Centos6.x升级glibc

升级完毕之后我们再看centos依赖的glibc

【linux】之Centos6.x升级glibc

通过命令查看

 ll /lib64/libc*

【linux】之Centos6.x升级glibc

完成glibc升级!

2、源码升级

百度下载glibc2.14.tar.gz

tar -xzvf glibc-2.14.tar.gz
cd glibc-2.14
mkdir build
cd build
../configure --prefix=/opt/glibc-2.14
make && make install

这个编译安装时间大概需要将近5分钟(根据机器性能),所以请耐心等待,安装完成之后

1、删除原来的连接,这一步删除之后千万不要乱动,否则linux的基本命令都无法使用了,最好先做备份

rm -rf /lib64/libc.so.6 //谨慎操作后不要乱动

2、补救(因为上面删除之后,linux基本不能敲,所以下面这条命令,直接复制即可)

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

3、创建新的软连接

ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6

然后在查看centos6.9版本库,同样完成glibc升级!

【linux】之Centos6.x升级glibc

ok。