码迷,mamicode.com
首页 > 其他好文 > 详细

记一次CentOS5.7更新glibc导致libc.so.6失效,系统无法启动

时间:2017-11-09 14:22:02      阅读:430      评论:0      收藏:0      [点我收藏+]

标签:glibc   没有   local   重要   ring   执行   prefix   libc.so.6   dir   

 

以下是错误示范,错误过程还原,请勿模仿!!!

wkhtmltopdf 启动,提示/lib64/libc.so.6版本过低

$ ./wkhtmltopdf http:www.baidu.com 1.pdf
./wkhtmltopdf: /lib64/libc.so.6: version `GLIBC_2.9‘ not found (required by ./wkhtmltopdf)
./wkhtmltopdf: /lib64/libc.so.6: version `GLIBC_2.10‘ not found (required by ./wkhtmltopdf)
./wkhtmltopdf: /lib64/libc.so.6: version `GLIBC_2.7‘ not found (required by ./wkhtmltopdf)

查看系统glibc版本,发现最高是2.5,需要升级到2.10

$ 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_PRIVATE

当时并不清楚glibc的重要性,看是版本过低,就想着升级呗

下载了个glibc2.10版本

$ mkdir build	// 在glibc-2.14目录下建立build文件夹
$ cd build		// 进入build目录
$ ../configure --prefix=/usr/local/glibc // 配置glibc并设置当前glibc-2.14安装目录
$ make && make install		// 编译安装glibc-2.14库

安装完成后, 建立软链指向glibc-2.10, 执行如下命令:

$ rm -rf /lib64/libc.so.6 			// 先删除先前的libc.so.6软链
$ ln -s /usr/local/glibc-2.10/lib/libc-2.10.1.so /lib64/libc.so.6

此时系统报错sgment fault,通过ldconfig重新恢复,libc.so.6重新指向libc-2.5.so,我的升级目的没有达到,岂能罢休?看到/lib64下有libc-2.5.so,

于是“灵机一动”,把libc-2.10.1.so也复制到/lib64下,$ ln -s /lib64/libc-2.10.1.so /lib64/libc.so.6

这下成功将libc.so.6指向了libc-2.10.1.so了

可是悲催的是系统各种命令都不能再使用:

/bin/ls: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

ssh远程连接也中断了,无法再连接,本机上无法打开终端。无可奈何,我做了一个更加牛逼的决定,重启!

于是乎,CentOS 5.11,GG!

 

以上是错误示范,错误过程还原,请勿模仿!!!

事情搞完了,系统起不来了,可是里面的数据不能丢!咋办啊?

不敢乱动那个硬盘,找了个其他硬盘,装上了相同的CentOS 5.11系统,将原硬盘挂载上去,赶紧把数据先备份下来。剩下的就是系统恢复了。

 

记一次CentOS5.7更新glibc导致libc.so.6失效,系统无法启动

标签:glibc   没有   local   重要   ring   执行   prefix   libc.so.6   dir   

原文地址:http://www.cnblogs.com/sherman125/p/7808254.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!