centos 升级glibc centos安装g++

大家好,今天来为大家解答centos 升级glibc这个问题的一些问题点,包括centos安装g++也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

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升级失败,可执行以下命令还原至之前版本:

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

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

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软链指向如下图所示:

centos69升级glibc动态库的详细过程

glibc是gnu发布的libc库,即c运行库,glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。很多linux的基本命令,比如ls,mv,cp, rm, ll,ln等,都得依赖于它,如果操作错误或者升级失败会导致系统命令不能使用,严重的造成系统退出后无法重新进入,所以操作时候需要慎重,升级之前保存好重要资料。

写这篇笔记的目的其实是我在centos下想要安装chrome浏览器时,有报错说glibc(2.14-2.16)是安装chrome的依赖,所以才打算把自己的测试机升级下glibc动态库。

下面开始正文:

1、首先,查看系统版本和Glibc版本

执行命令查看glibc版本

strings/lib64/libc.so.6| grep GLIBC_结果如下:

由上面的信息可以看出系统是CentOS 6.9,而centos、redhat系统为了稳定性,glibc的版本还用的是2.12,而现在都已经2.30版本了,为了保险起见,我决定把它升级到2.17版本。

2、下载软件并升级

wget

tar-xvf glibc-2.17.tar.gz

mkdir glibc-2.17/build

cd glibc-2.17/build

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

make–j4

make install说明:

1、make后面的-j4是针对多核cpu提高编译速度的,数字4是cpu核心的两倍(最大可设置为cpu核心的两倍)

2、–prefix后面的路径一定要是/usr,如果换成其他的都可能会导致失败。

安装完成后,最后输出

红框内这句话基本可以确定是升级成功了!!!O(∩_∩)O哈哈~

3、测试

执行

ldd--version

或者执行

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

至此,glibc的版本升级就算是大功告成,期待这篇我经过数次(大概重新编译安装了5次,还包括一次系统大部分命令都无法使用,重启系统后都无法进入,不过还要我用的是虚拟机测试)实验测试才验证过的笔记能够帮到大家,后面我还会分享一个glibc升级时libc.so.6文件误删或者丢失导致大部分命令失效的解决办法,敬请期待!

总结

以上所述是小编给大家介绍的centos 6.9升级glibc动态库的详细过程,大家如有疑问可以留言,或者联系站长。感谢亲们支持!!!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

阅读剩余
THE END