升级centos6.9 glibc引发的惨案

版权声明:本文为博主原创文章,转载请注明来源出处。 https://blog.csdn.net/wangtian2014/article/details/80308901

起因

  • 在安装iperf时提示glibc版本依赖过低,提示依赖2.14或2.15,查看本机版本 centos6.9 glibc-2.12,然后想当然的升级到14
  • 惨案发生了,ssh断开后不好使了,重启sshd服务失败,系统重启后无法启动,提示内核错误
  • 回想一下最近的操作,一定是glibc搞的

重要的事情说三遍

  • 不要随意升级内核运行库!
  • 不要随意升级内核运行库!
  • 不要随意升级内核运行库!

急救

  • 不要相信网上的chroot /mnt/sysimage,不好使切换不了,因为glibc不对
  • 也不要相信网上从/lib64/下把libc-2.12.so和libc.so.6 到/mnt/sysimage/lib64下就好使,不可能,因为升级后更改了好多依赖
  • 正确的打开方式是这样:
    1. 找到系统盘,加载到光驱中,用救援模式启动(菜单中第三项)
    2. 使用带网络的救援模式,配置eth0的ip mask gateway dns
    3. 确定libc.so.6的版本,strings /lib64/libc.so.6|grep GLIBC
    4. 到centos的源中去找glibc和glibc-common这两个rpm包 http://rpmfind.net/linux/centos/6.9/os/x86_64/Packages/ 下载到一台机器上
    5. 在目标机器上用scp命令把rpm包copy到本地
    6. 验证rpm依赖 rpm -ivh –test –force –noscripts –root=/mnt/sysimage glibc.rpm glibc-common.rpm
    7. 安装 rpm -ivh –force –noscripts –root=/mnt/sysimage glibc.rpm glibc-common.rpm
    8. 安装成功后,现在运行chroot /mnt/sysimage/,正常了
    9. 退出shell(exit),然后重启,正常进入系统

注意

  • 不要在救援shell里瞎操作根目录的文件,会搞坏系统盘
展开阅读全文

没有更多推荐了,返回首页