误删libc.so.6拯救小记

文章讲述了在升级glibc版本后,apt、gdb等命令无法使用的问题。作者提供了三种解决方案:设置LD_PRELOAD环境变量临时解决问题(仅限root权限),使用liveCD在虚拟机中修改lib文件并重置,以及重装系统或使用快照恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

起因

升级glibc版本后,apt、gdb等不能使用,报version `GLIBC_2.34’ not found,于是在硬盘上搜了一个包含GLIBC_2.34版本的libc.so.6,去替换原来的文件,但是手误,在普通用户下将libc.so.6改为了libc.so.6.bak,于是sudo su cp mv 等一系列依赖于glibc的命令全部不能使用了 呜呜呜~~~

解决方案

网上搜索的解决方案汇集如下:

1、通过设置LD_PRELOAD环境变量,使用指定的libc.so.6

LD_PRELOAD=/lib/libc-2.12.so ln -s /lib/libc-2.12.so /lib/libc.so.6

***其中的文件路径需要根据真实路径修改

但是,该方法仅限当前在root权限下

2、使用liveCD修改文件

我是在vmware里安装的镜像,在虚拟机中指定一个CD镜像(这个镜像版本不用与安装版本一致),保存

重新启动客户机,在vmware启动界面,按ESC进入Boot menu(注意鼠标要在虚拟机里,否则今进不去),选择CD_ROM Drive

进入到ubuntu的安装引导程序,选择try ubuntu,就是启动liveCD的体验版本,而非安装

在命令行中挂载硬盘,我这里是/dev/sdb1

mount /dev/sdb1 /mnt
mv /mnt/lib/libc.so.6.bak /mnt/lib/libc.so.6
sync

修改完毕,重启,问题修复

3、重装或者快照

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值