centos升级glibc?centos7.8

大家好,今天来为大家分享centos升级glibc的一些知识点,和centos7.8的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

Centos65升级glibc的详细步骤

场景需求

注意更新系统库存在一定的风险,请谨慎操作

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

$ tar-xzvf glibc-2.14.tar.gz当前目录下得到目录glibc-2.14,执行$cd glibc-2.14命令进入目录,依次执行如下命令编译安装glibc-2.14:

$ 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,执行如下命令:

$ 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之后可能导致系统命令不可用的情况,可使用如下方法解决:

$ 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.6// libc-2.12.so此项是系统升级前的版本此时查看系统glibc版本如下图所示:

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

如何升级linux系统glibc版本

小编提供了如下的四种方法,但是,小编建议大家不要自己更新 glibc。因为他是系统基础库。他如果出现函数接口变化(版本升级很容易出现这个问题),那么你的整个系统就不能用了。另外,当前最新版本是2.11,比你要安装的要新的多,更新glibc后有可能导致系统崩溃因为Linux的依赖关系就是为了防止这种情况而设计的。所以最好还是找相关人士来解决这个问题。

简介

glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。

方法一:

步骤如下:

wget

wget

tar-xvf glibc-2.15.tar.gz

tar-xvf glibc-ports-2.15.tar.gz

mv glibc-ports-2.15 glibc-2.15/ports

mkdir glibc-build-2.15

cd glibc-build-2.15

../glibc-2.15/configure --prefix=/usr--disable-profile--enable-add-ons--with-headers=/usr/include--with-binutils=/usr/bin

make make install

make是成功后,build目录下编译出了一个新的libc.so.6(/glibc-build-2.15/libc.so.6,我们会发现这实际上也是一个软连接,真实的lib文件时libc.so

cd glibc-build-2.15

ll libc.so.6

查看库文件,可以看到2.12的旧库文件还在,多了2.15版本的库文件,而且软链接文件全部指向了2.15版本

ll/lib64/libc*

此时,查看glibc支持的版本

strings libc.so| grep GLIBC

注:以上图片上传到红联Linux系统教程频道中。

方法二:

编译安装glibc

1.下载glibc

wget .下载glibc-linuxthreads

wget .解压

tar-zxvf glibc-2.3.2.tar.gz

cd glibc-2.3.2

tar-zxvf../glibc-linuxthreads-2.3.2.tar.gz

cd..

./glibc-2.3.2/configure--prefix=/usr--disable-profile--enable-add-ons--libexecdir=/usr/lib--with-headers=/usr/include

make

make install注意点:

1、要将glibc-linuxthreads解压到glibc目录下。

2、不能在glibc当前目录下运行configure

方法三:

1、linux更新包,首选用yum来进行更新(前提是你的linux能上外网),命令如下:

yum install glibc*  ----------虽然是安装命令,但是查到已安装后,会自动更新到yum源的最新版本。

2、也可以使用下载的rpm包手工更新的方法,下载最新的glic包然后上传到linux系统安装即可

方法四:

如果是CentOS的话就好啦,直接用命令:yum install glibc就ok啦!其他的没办法,只能下载或哪里有光盘DVD!

centos6.5升级glibc-2.18

默认情况下,CentOS 6.5自带的glibc版本为glibc-2.12。为确保众多运行在CentOS上的应用能成功编译与安装,有必要升级至glibc-2.18版本。

升级glibc前,请务必了解,glibc是CentOS的底层基础程序,升级失败可能导致基础命令无法使用。因此,切勿贸然退出窗口。建议按照问题解决的步骤来操作,若升级失败,首先尝试还原glibc,若无效,则考虑重新安装操作系统。如有快照备份,建议使用快照恢复。

升级前,先查询当前glibc版本。通过访问glibc官网,下载glibc-2.18.tar.gz源码包。

将下载的源码包上传至CentOS系统,并运行以下命令进行安装。请注意,此过程可能需要较长时间,预计约十分钟。安装完成后,可能还会遇到其他问题,可参考后续的问题解决方法,确保系统稳定。

安装完成后,可能出现以下问题:

在执行`make install`之后,可能会遇到`Segmentation fault`错误。这通常发生在加载共享库时,例如`__vdso_time: invalid mode for dlopen(): Invalid argument`。

若基本命令无法使用,这表明`/lib64/libc.so.6`文件在安装过程中被修改。为解决此问题,尝试运行以下命令来保持环境变量与现有glibc一致:

之后,重新执行基本命令,检查是否恢复正常。若glibc升级失败,可执行以下命令还原至之前版本:

随后,再次检查基本命令是否正常。如需进一步排查升级过程中的问题,建议临时加载之前可用的库文件,以恢复系统。

若本文解答了您的问题,请点击下方链接以示支持,感激不尽。

阅读剩余
THE END