升级原因
Android12项目,在ubuntu 16.04.7版本的服务器编译kernel 5.10出现报错:
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.27'
升级参考
执行到sudo make 和 sudo make install 后提示安装失败。
此时执行cd 和 pwd 之外的指令都提示Segmentation fault,很明显系统崩溃了。重启直接无法开机,也无法进入recovery mode 的root模式进行修复。
修复过程
1、咨询IT没有对系统镜像进行备份,仅备份用户文件数据的硬盘。
2、由于是服务器,不到万不得已不想重装系统,因为有很多其他环境。
3、网上寻找资料
ubuntu系统崩溃,甚至Recovery模式和tty都无法进入,这个方法可以救援!_try ubuntu-CSDN博客
误删了Linux系统的libm.so.6文件与libm-2.27.so的软链接导致的开机出现kernel panic的解决方案(图文U盘救援详细教程)-CSDN博客
Ubuntu 手动更新glibc导致内核崩溃(无法正常关机/开机启动失败)_ubuntu升级glibc崩溃-CSDN博客
3.1 服务器相关的文件多做备份,养成好习惯。
3.2 首先尝试将/lib64下的so 链接到/lib/x86_64-linux-gnu(备份了原始的),重启后可以开机,但是乱码,sudo等指令执行异常,Android代码编译失败。
3.3 网上文章提到手动升级glibc版本主要是 更改了/lib64下的 ld-linux-x86-64.so.2的软链接,使用U盘启动器Try ubuntu后挂载已经崩溃的系统镜像进行更改修复。
sudo mkdir /mnt
sudo mount /dev/sda4 /mnt (我们服务器系统镜像是sda4 注意区分)
sudo chroot /mnt
cd /
sudo mv lib64/ lib64.bak
sudo mkdir lib64
sudo ln -s /lib/x86_64-linux-gnu/ld-2.23.so /lib64/ld-linux-x86-64.so.2
注:在U盘启动的模式下&#x