GLIBC修复笔记,学会这些让你更快的解决系统问题

背景

公司环境有台机器硬盘故障,需要安装megacli工具进系统查看raid信息,在ubuntu20.04安装megacli解决依赖过程中失误将高版本的libtinfo包装系统上了,导致系统报glibc对应的版本没有找到,系统实际glibc的版本是2.31。

解决办法

如果系统的ssh没有断开,可以将原来版本的libtinfo文件删除,并重新软链接。

复制
cd /lib/x86_64-linux-gnu/ rm -rf libtinfo.so.6 ln -s libtinfo.so.6.2 libtinfo.so.61.2.3.

但是很遗憾,ssh和接显示器都登录不到系统上了,单用户也进不去,安装的ubuntu server 20.04也没有live cd,不过好在ubuntu 20.04 desktop版本用的核心库版本和server是一样的,可以使用ubuntu 20.04 desktop做live CD。

使用ubuntu 20.04 desktop 制作live CD修复

插入制作好的启动盘,选择try ubuntu without installing。

进入liveCD之后切换到root用户,将硬盘上的文件系统挂载到/mnt目录上。

复制
sudo -i mount /dev/mapper/ubuntu--vg-ubuntu--lv /mnt cd /mnt/lib/x86_64-linux-gnu1.2.3.

将原来版本的libtinfo文件删除,并重新软链接到6.2版本上去。

复制
rm -rf libtinfo.so.6 ln -s libtinfo.so.6.2 libtinfo.so.61.2.

之后切换根目录为/mnt,使用绝对路径重新软链接一次。

复制
chroot /mnt cd /lib/x86_64-linux-gnu rm -rf libtinfo.so.6 ln -s /lib/x86_64-linux-gnu/libtinfo.so.6.2 /lib/x86_64-linux-gnu/libtinfo.so.6 exit reboot1.2.3.4.5.6.

重启系统问题解决

以上是由于安装依赖版本问题导致glibc版本报错的解决办法和思路。

阅读剩余
THE END