Linux/CentOS 升级C基本运行库CLIBC的注意事项(当想(2)

有些人会在make install后出现error。这儿error我没去细究,经过网友提醒,可能是因为没有sudo造成的,因为make install就是把文件拷贝到几个受保护的系统目录下。

如果还是不行,可以查看一下系统此时的GLIBC版本,参考一开始的做法。如果版本未升级,我们只能手动安装一下:

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

$ ll libc.so.6 lrwxrwxrwx 1 root root 7 Sep 23 07:41 libc.so.6 -> libc.so [usr@linux glibc-build-2.15]$ strings libc.so | grep GLIBC GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_2.4 GLIBC_2.5 GLIBC_2.6 GLIBC_2.7 GLIBC_2.8 GLIBC_2.9 GLIBC_2.10 GLIBC_2.11 GLIBC_2.12 GLIBC_2.13 GLIBC_2.14 GLIBC_2.15 GLIBC_PRIVATE

这是我们需要的lib了,然后去更新系统的库。

这里要注意,更新系统里的链接(我的是/lib64/libc.so.6) 很容易出错,我不清楚有没有更好的办法,一般都是删除旧链接,建立新链接

但删除旧链接后,很多命令直接不能用了,因为此时中不到glibc的库了。这个时候就需要临时指定一个glibc库,方法如下(libc.so改个名以便好以后更新的其他版本区分):

[usr@linux cp /****/glibc-build-2.15/libc.so /lib64/libc-2.15.so rm -rf /lib64/libc.so.6 LD_PRELOAD=/lib64/libc-2.15.so ln -s/lib64/libc-2.15.so lib64/libc.so.6

更新连接完毕,然后:

$ strings /lib64/libc.so.6 | grep GLIBC GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_2.4 GLIBC_2.5 GLIBC_2.6 GLIBC_2.7 GLIBC_2.8 GLIBC_2.9 GLIBC_2.10 GLIBC_2.11 GLIBC_2.12 GLIBC_2.13 GLIBC_2.14 GLIBC_2.15 GLIBC_PRIVATE

说明连接更新成功,再编译的话,GLIBC_2.15及以下版本的依赖问题就不会出现了。

Linux下GLIBCXX和GLIBC版本低造成的编译错误的解决方案 

Linux升级Glibc 

危险!GHOST(幽灵)漏洞曝光 

GNU glibc 爆 gethostbyname 缓冲区溢出漏洞 

glibc gethostbyname缓冲区溢出漏洞(CVE-2015-0235) 

Linux glibc幽灵漏洞测试与修复方法

Glibc 的详细介绍请点这里
Glibc 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8910cec80db95d7ee3cabcf5e1226e5a.html