Linux升级Glibc时系统奔溃是什么原因如何解决
2015-01-20 15:33
609 查看
Linux系统中,安装软件的时候要求Glibc-2.7版本,可是自身Glibc版本过低需要升级,从而导致系统奔溃,这是什么原因导致的呢?又该如何处理?下面小编就给大家介绍下Linux升级Glibc时系统奔溃的解决方法。
现象:
在安装HP硬件监控(hpasmcli)提示需要依赖Glibc-2.7,而本机的是Glibc-2.5,看来得升级Glibc了,可惜在升级时又出现了更多的依赖问题,想到在其他服务器上安装hpasmcli时很顺利,就想到将其他服务器的glibc库文件直接拷贝到本机尝试,涉及的文件有:
/lib/libc-2.5.so # 32位系统
/lib64/libc-2.5.so # 64位系统
因为我操作的服务器系统是64位的,故在覆盖/lib64/libc-2.5.so文件的瞬间,屏幕上立即报出大量内核错误,如下(其中host指代服务器主机名):
Message from syslogd@ at Fri Apr 26 18:10:35 2013 。。。 host kernel: in6b rsp 00007fff8c0b8698 error 4 Message from syslogd@ at Fri Apr 26 18:10:35 2013 。。。 host kernel: init[1]: segfault at 0000000000000000 rip 00002b28b2052e6b rsp 00007fff8c0b8698 error 4 Message from syslogd@ at Fri Apr 26 18:10:35 2013 。。。 host last message repeated 17 times Message from syslogd@ at Fri Apr 26 18:10:35 2013 。。。 host kernel: init[1]: segfau6b rsp 00007fff8c0b8698 error 4 Message from syslogd@ at Fri Apr 26 18:10:35 2013 。。。 host kernel: init[16b rsp 00007fff8c0b8698 error 4
然后系统就崩溃了,无法再登录了。
紧急联系机房重启服务器,告知无法启动。
诶,亲手造成了此次事故呀!
要点:
glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有的 UNIX 通行的标准,可以想见其内容包罗万象。
升级Glibc的忠告:不要在运行中的系统上安装 Glibc,否则将会导致系统崩溃,至少应当将新 Glibc 安装到其他的单独目录,以保证不覆盖当前正在使用的 Glibc。(我就无知的覆盖了,囧!)
解决方法:
赶赴机房吧,幸好我在替换前在目录/lib下保存了原来的库文件(libc-2.5.so.bak),使用Linux系统盘进入“救援模式”,将被替换的2个库文件恢复,重启系统就可以了;
系统正常启动了,就交给其他部门的同事去恢复数据吧。
上面就是Linux升级Glibc时系统奔溃的解决方法的介绍了,方法很简单,就要进入救援模式,将替换的库文件恢复回来就可以了,如果你在升级Glibc的时候不覆盖原有的Glibc就不会导致系统奔溃。
现象:
在安装HP硬件监控(hpasmcli)提示需要依赖Glibc-2.7,而本机的是Glibc-2.5,看来得升级Glibc了,可惜在升级时又出现了更多的依赖问题,想到在其他服务器上安装hpasmcli时很顺利,就想到将其他服务器的glibc库文件直接拷贝到本机尝试,涉及的文件有:
/lib/libc-2.5.so # 32位系统
/lib64/libc-2.5.so # 64位系统
因为我操作的服务器系统是64位的,故在覆盖/lib64/libc-2.5.so文件的瞬间,屏幕上立即报出大量内核错误,如下(其中host指代服务器主机名):
Message from syslogd@ at Fri Apr 26 18:10:35 2013 。。。 host kernel: in6b rsp 00007fff8c0b8698 error 4 Message from syslogd@ at Fri Apr 26 18:10:35 2013 。。。 host kernel: init[1]: segfault at 0000000000000000 rip 00002b28b2052e6b rsp 00007fff8c0b8698 error 4 Message from syslogd@ at Fri Apr 26 18:10:35 2013 。。。 host last message repeated 17 times Message from syslogd@ at Fri Apr 26 18:10:35 2013 。。。 host kernel: init[1]: segfau6b rsp 00007fff8c0b8698 error 4 Message from syslogd@ at Fri Apr 26 18:10:35 2013 。。。 host kernel: init[16b rsp 00007fff8c0b8698 error 4
然后系统就崩溃了,无法再登录了。
紧急联系机房重启服务器,告知无法启动。
诶,亲手造成了此次事故呀!
要点:
glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有的 UNIX 通行的标准,可以想见其内容包罗万象。
升级Glibc的忠告:不要在运行中的系统上安装 Glibc,否则将会导致系统崩溃,至少应当将新 Glibc 安装到其他的单独目录,以保证不覆盖当前正在使用的 Glibc。(我就无知的覆盖了,囧!)
解决方法:
赶赴机房吧,幸好我在替换前在目录/lib下保存了原来的库文件(libc-2.5.so.bak),使用Linux系统盘进入“救援模式”,将被替换的2个库文件恢复,重启系统就可以了;
系统正常启动了,就交给其他部门的同事去恢复数据吧。
上面就是Linux升级Glibc时系统奔溃的解决方法的介绍了,方法很简单,就要进入救援模式,将替换的库文件恢复回来就可以了,如果你在升级Glibc的时候不覆盖原有的Glibc就不会导致系统奔溃。
相关文章推荐
- centos6.5系统升级glibc时出错导致不管输入什么命令都是 Segmentation fault 解决
- Linux 系统更新命令行模式,出错原因,软件更新器更新失败,系统提示已为最新版本,问题如何解决
- Win10系统下C盘空间逐渐减少是什么原因如何解决
- Vista升级win7系统时程序一直停留在62%的状态是什么原因如何解决
- 老男孩教育每日一题-第82天-发现文件系统只读了,是什么原因?如何解决?
- Win7旗舰版系统无法打开家长控制是什么原因如何解决
- XP系统开机提示DLL文件出错是什么原因如何解决
- Linux升级Glibc时系统奔溃怎么办?
- XP系统没有声音是什么原因?如何解决?
- U盘装系统后启动不了是什么原因如何解决
- Linux如何用fsck解决系统故障?
- Linux系统安装时格式化硬盘很慢的原因及解决方法
- 关于gcc、glibc和binutils模块之间的关系,以及在现有系统上如何升级的总结
- 一执行这句话就会死机,大家帮忙看看是什么原因,如何解决
- 【浅谈系统蓝屏崩溃的原因及如何解决】
- 如何查看linux的文件系统是什么格式的
- 【CC攻击是什么?linux下该如何解决这个问题】
- 关于gcc、glibc和binutils模块之间的关系,以及在现有系统上如何升级的总结
- 关于gcc、glibc和binutils模块之间的关系,以及在现有系统上如何升级的总结
- Linux系统安装时格式化硬盘很慢的原因及解决方法