Ubuntu 18.04安装libc6 2.35致系统崩溃及解决方案咨询
系统恢复方法
方法1:通过恢复模式修复
- 重启机器,开机时按住
Shift键进入GRUB菜单 - 选择「高级选项 for Ubuntu」,再选中带「(recovery mode)」的内核版本
- 在恢复菜单中选择「root - Drop to root shell prompt」
- 此时系统使用initramfs中的核心库,不受之前修改的配置影响,直接编辑配置文件:
nano /etc/ld.so.conf.d/libc.conf - 删除追加的
/opt/glibc/lib路径,保存退出 - 执行
ldconfig更新库缓存,然后输入reboot重启系统
方法2:通过安装U盘救援
- 准备Ubuntu 18.04安装U盘,插入机器后从U盘启动
- 选择「Try Ubuntu without installing」进入试用环境
- 打开终端,先查看系统盘挂载点(通常是/dev/sda1,可通过
lsblk确认):lsblk - 挂载系统盘到/mnt:
sudo mount /dev/sda1 /mnt - 编辑挂载后的配置文件:
sudo nano /mnt/etc/ld.so.conf.d/libc.conf - 删除错误的路径,保存退出后卸载挂载:
sudo umount /mnt - 拔掉U盘,重启机器即可
Ubuntu 18.04安全安装libc6 2.35的方案
绝对不能替换系统默认的glibc,必须做隔离安装:
1. 源码编译隔离版本
- 下载glibc 2.35源码包,解压后进入源码目录
- 编译时指定独立安装路径,避免干扰系统库:
mkdir build && cd build ../configure --prefix=/opt/glibc-2.35 --libdir=/opt/glibc-2.35/lib64 --disable-sanity-checks make -j$(nproc) sudo make install注:
--disable-sanity-checks是为了跳过Ubuntu 18.04环境下的兼容性检查,确保编译通过
2. 运行Slurm时指定高版本glibc
- 临时运行:直接设置环境变量调用Slurm程序
LD_LIBRARY_PATH=/opt/glibc-2.35/lib64 /path/to/slurm-binaries/srun - 永久配置:给Slurm二进制文件设置rpath和指定解释器(用patchelf)
确保patchelf已安装(sudo apt install patchelf),然后执行:patchelf --set-rpath /opt/glibc-2.35/lib64 --set-interpreter /opt/glibc-2.35/lib64/ld-linux-x86-64.so.2 /path/to/slurm-binary之前patchelf失败大概率是没指定
--set-interpreter,程序启动需要对应版本的动态链接器
关于降级其他Ubuntu 22.04节点的libc6
完全不建议这么做。Ubuntu 22.04的系统生态完全依赖默认的glibc 2.35,降级会导致几乎所有系统命令、服务依赖崩溃,系统直接无法正常运行,风险极高,没有可行的降级方案。
内容的提问来源于stack exchange,提问作者shambakey1
相关产品推荐
相关产品推荐

