让Linux系统崩溃最快速的方法

发表于:2013-6-20 09:58

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:xxrenzhe11    来源:51Testing软件测试网采编

  现象:

  在安装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指代服务器主机名):

  1. Message from syslogd@ at Fri Apr 26 18:10:35 2013 ... 
  2. host kernel: in6b rsp 00007fff8c0b8698 error 4 
  3. Message from syslogd@ at Fri Apr 26 18:10:35 2013 ... 
  4. host kernel: init[1]: segfault at 0000000000000000 rip 00002b28b2052e6b rsp 00007fff8c0b8698 error 4 
  5. Message from syslogd@ at Fri Apr 26 18:10:35 2013 ... 
  6. host last message repeated 17 times 
  7. Message from syslogd@ at Fri Apr 26 18:10:35 2013 ... 
  8. host kernel: init[1]: segfau6b rsp 00007fff8c0b8698 error 4 
  9. Message from syslogd@ at Fri Apr 26 18:10:35 2013 ... 
  10. 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个库文件恢复,重启系统就可以了;

  系统正常启动了,就交给其他部门的同事去恢复数据吧。(我会告诉你,我搞挂的是一台DB服务器嘛!)

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号