centos glibc 升级导致系统崩溃

centos 7.9默认的glibc为2.17,因为要安装一些软件,需要升级到glibc 2.18,而从源码进行编译和安装,安装失败,导致系统崩溃。

系统崩溃首先想到的是利用启动盘进行救援,而利用centos 7.9的启动盘始终无法挂载到系统,出现类似“you don;t have any linux partitions ”的提示,发现源系统无法挂载到/mnt/sysimage下,反复试了几次都不行,后来想到DELL服务器从某个版本开始不再支持centos 7,故尝试了下centos 8的启动盘,顺利挂载源系统。

挂载源系统后,执行命令chroot  /mnt/sysimage 后,切换到cd /mnt/sysimage后,可以执行ldd /bin/bash查看依赖包是否有缺失,如有缺失,可从启动盘的/lib64目录下复制,即cp /lib64/libc-2.17.so /mnt/sysimage/usr/lib64/等。

退出救援模式后,系统可以启动,但是仍无法进入图形界面,可利用Ctrl+Alt+F2切换至命令行界面。

进入命令行界面后,发现系统可以ping通IP,但是无法ping通域名,nslookup可以查询域名,很奇怪,查阅资料,有人提示可以修改/etc/nsswitch.conf文件中的host,尝试后无效。

查看/usr/lib64/下的软链接,发现libnss_开头的软链接指向存在问题,修改后,可以ping通。

修改软链接中出现了误操作,导致系统重启后,输入用户名后直接提示login incorrect,不让用户输入密码,尝试使用单用户模式进行修复,发现无法挂载U盘,拷入东西。

为了恢复系统,尝试使用救援模式挂载U盘拷入glibc 2.18的rpm包【可从链接4的文章中嵌入的链接下载】,然后再单用户模式进行安装,拷入内容注意拷入公共文件夹或临时文件夹,如/data 或/var/tmp等等,尝试后成功。

参考链接:

1、Centos 7.x 升级glibc至2.18版本(转载),Centos 7.x 升级glibc至2.18版本(转载)_要升级 glibc 版本到 2.18 或更高版本-CSDN博客

2、CentOS 救援模式 (rescue installed system)修复损坏系统,https://blog.51cto.com/309173854/1745376

3、Centos 未输入密码提示login incorrect,Centos 未输入密码提示login incorrect-CSDN博客

4、升级glibc至2.18https://www.cnblogs.com/SyXk/p/14657676.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值