centos 更新libc,centos更新源
Centos更新lib库[踩坑记录]
在搭建Centos7 64位服务器环境时,遇到两个主要问题:/lib/libstdc++.so.6与ImportError:/lib64/libc.so.6,均与lib库版本不匹配有关。本文详细记录了解决过程,避免同类问题。
问题一涉及libstdc++.so.6缺少对应的GLIBCXX版本。通过命令查看,缺失内容为GLIBCXX_3.4.20。解决步骤包括下载对应版本libstdc++.so.6.0.24,并确保根据系统架构(64位或32位)正确升级库。初次尝试时,容易忽视系统架构导致升级失败。为避免64位与32位版本不匹配的问题,应使用正确的后缀(如.x86_64)进行安装。
问题二与libc.so.6版本不匹配有关。通过命令查看libc版本,确认已安装glibc_2.18,问题解决步骤包括进行编译安装。在编译过程中可能出现LD_LIBRARY_PATH相关问题,解决方法是删除该变量内容,确保编译安装顺利完成后添加。
为加速pip安装其他包,建议使用国内镜像源(如豆瓣)。
解决这两个问题后,Centos7 64位服务器搭建环境顺利完成,避免了因lib库版本不匹配导致的问题。通过记录和分享这些步骤,希望对遇到类似问题的开发者提供帮助。
如何查看CentOS中glibc的版本号
关于centos查看glibc版本的简单方法</
近期,Linux系统中的GNU glibc标准库的gethostbyname函数出现了缓冲区溢出漏洞,影响了2.2到2.17版本,包括2.2和2.17。对于Linux服务器用户,务必检查您的服务器是否受到此漏洞影响。以下是几个查看Linux glibc版本的实用步骤。
首先,通过putty工具连接到您的CentOS 6.3服务器,然后在终端输入命令:rpm-qa| grep glibc</(按回车键执行)。执行后,会显示出类似以下结果:
glibc-devel-2.12-1.132.el6.x86_64
glibc-common-2.12-1.132.el6.x86_64
glibc-2.12-1.132.el6.x86_64
glibc-headers-2.12-1.132.el6.x86_64
从输出中,可以直接看到glibc的版本号为2.12。此外,我们还可以通过查看/lib/libc.so.6的链接文件来确认:
cd/lib
ls-l libc.so.6</
输出示例:
lrwxrwxrwx. 1 root root 12 5月 21 17:46 libc.so.6- libc-2.12.so
对于Ubuntu用户,需要在/i386-linux-gnu目录下查找,命令为:
cd/lib/i386-linux-gnu
ls-l libc.so.6</
示例输出:
lrwxrwxrwx 1 root root 12 2012-07-15 09:14 libc.so.6- libc-2.13.so
通过这些步骤,您可以轻松地在CentOS和Ubuntu系统中识别您的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软链指向如下图所示: