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

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

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.5GLIBC_2.2.6GLIBC_2.3GLIBC_2.3.2GLIBC_2.3.3GLIBC_2.3.4GLIBC_2.4GLIBC_2.5GLIBC_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系统,将原硬盘挂载上去,赶紧把数据先备份下来。

重新将libc.so.6指向libc-2.5.so:

[root@localhost lib64]#ln -s libc-2.5.so libc.so.6

卸下替用的硬盘,原硬盘的系统恢复正常。CentOS 5.11 正常跑了 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值