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动态库的详细过程,大家如有疑问可以留言,或者联系站长。感谢亲们支持!!!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!