背景
公司环境有台机器硬盘故障,需要安装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.6
但是很遗憾,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-gnu
将原来版本的libtinfo文件删除,并重新软链接到6.2版本上去
rm -rf libtinfo.so.6 ln -s libtinfo.so.6.2 libtinfo.so.6
之后切换根目录为/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 reboot
重启系统问题解决
以上是由于安装依赖版本问题导致glibc版本报错的解决办法和思路,如果各位还想了解更多关于Linux的知识,能看到这篇文章那可真是太巧了,运维开发故事今天有福利相送,抽四本《Linux从入门到应用部署实战》纸质书送给一直以来关注运维开发故事的朋友,书籍由北京理工大学出版社赞助,在此感谢北京理工大学出版社。
抽奖助手,,,
linux从入门到应用部署实战
小程序