ubuntu如何从升级glibc失败中恢复

背景

系统是ubuntu16.04,鲁莽升级glibc,还把prefix设置成/usr,导致系统完全崩溃,任何操作均无效,然后还重启了,重启之后无法进入系统,无法进入recovery模式。

解决方案

  1. 使用其它电脑制作一个ubuntu16.04的安装盘,建议使用ubuntu server版本;
  2. 从安装盘启动主机,在选择启动模式时选择rescue模式(server版)或试用模式(desktop版);
  3. 使用mount指令挂载原来的硬盘,至于如何确定原来硬盘的盘符,以及如何挂载,自行搜索;
  4. 使用find或whereis或locate等指令查看libc.so的位置,然后使用ls -l依次查看这些位置,把指向升级后的libc的软链接使用ln -sf SOURCE TARGET改到原始版本的libc.so的位置;
  5. 修改完成后,可以使用chroot把root启动点修改到原硬盘,尝试启动;
  6. 重启系统,注意第一次重启时一定先进入GRUB(开机引导时按住shift即可),选择recovery模式,成功启动一次后,再次重启就正常了。否则,修改的软链接可能会失效。

如何查看glibc版本

方法一:直接运行/lib/x86_64-linux-gnu/libc.so.6
方法二:运行ldd --version

猜你喜欢

转载自blog.csdn.net/liuqixuan1994/article/details/116483161