前段时间遇到开发人员更新glibc版本,把/usr/lib64/libc-2.12.so & libc.so.6 -> libc-2.12.so 这个软连接更改之后导致报错:

ls: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

无法远程登录,终端也无法登录,也无法单用户登录,如图:

远程登录:

终端登录:

单用户:

其实在执行误操作之后只要不断开远程连接还有挽回的余地,但远程异常断开连接之后很多人就没有辙了,准备抢救数据&文件,重装系统,其实这里咱们先不要着急重装系统,咱们来试试rescue !

一、首先准备好系统安装盘,使用安装盘启动:

二、选择语言和键盘(默认的就好):

三、稍等一会儿会出现要不要设置网络,一般来说网络没问题就不用设置了,我这里选择No:

四、这里就是rescue选项了:

  1. 选择Continue,则救援模式程序会自动查找系统中已有的文件系统,并把他们挂载到/mnt/sysimage目录下。

  2. 选择Read-Only,则会以只读的方式挂载已有的文件系统。

  3. 手动挂载则Skip。

  4. Advanced ,高级选项就不作说明了。

咱们这儿选择Continue:

五、原系统挂载路径/mnt/sysimage,如果想获得原系统root环境,执行行命令:chroot /mnt/sysimage 即可。

六、这里可以执行fakd诊断,当然我们这里直接进入shell 命令行:

七、本次重头戏来了,因为/usr/lib64/libc-2.12.so & libc.so.6 -> libc-2.12.so 问题,执行chroot /mnt/sysinage会报错:

八、不要害怕,执行:

cp /lib64/libc-2.12.so /mnt/sysimage/lib64/libc-2.12.so
cp /lib64/libc.so.6 /mnt/sysimage/lib64/libc.so.6

将光盘文件拷贝到系统文件去,再执行chroot /mnt/sysinage 就正常了:

其实到这里我这次rescue 已经完成了,因为系统缺少/usr/lib64/libc-2.12.so文件和 libc.so.6 -> libc-2.12.so软连接 ,复制过去就好了 。

九、退出shell & reboot

简单的另一个方法:
那就远程连接还未关闭:
# LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6
该命令的含义是:
linux调用so库文件时,先搜索当前路径,然后是系统库目录,提供LD_PRELOAD系统变量可以改变这个顺序,改变后的搜索顺序为 LD_PRELOAD, 当前路径, 系统库目录。
于是,使用LD_PRELOAD指向正常的glibc库文件,然后执行ln等命令,就可以正常执行,执行成功之后, libc.so.6 -> libc-2.12.so就又存在了。

其他系统文件损坏也可以参照同样步骤进行,就不在此赘述了 。

欢迎大家多多指教 ~~~

本文出自 “小陌成长之路” 博客,请务必保留此出处http://309173854.blog.51cto.com/7370240/1745376

CentOS 救援模式 (rescue installed system)修复损坏系统相关推荐

  1. CentOS 救援模式

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 CentOS 启动救援模式 前言 提示:这里可以添加本文要记录的大概内容: 机器重启后无法进入系统,试着用CentOS的救援模式修复一 ...

  2. CentOS通过 liveCD 进入救援模式-重装 grub 修复损坏的

    实戓:使用系统光盘进入救援模式拯救坏掉的系统. 实戓场景:当系统坏了,进不去了,还需要把里面的数据复制出来,怎么办? 可以进入救援模式拷贝数据. 基亍 6 版本系统进入救援模式 1.修改 BIOS 吭 ...

  3. CentOS 7 单用户模式+救援模式

    有时候大家可能会忘记自己的root密码,或者错误(命令输入错误,命令位置输入有误等)编辑了一个/etc目录下的核心文件导致系统不能正常启动了!怎么办?重新安装系统那是实在没有办法之举!那我们就进入如下 ...

  4. 使用rufus工具U盘安装DotAsterisk(点星PBX)呼叫中心并进入救援模式修复grub引导

    之前有过一篇介绍采用UltraISO制作点星pbx启动光盘U盘安装点星pbx呼叫系统的文章教程--<U盘安装DotAsterisk(点星PBX)企业呼叫中心或IPPBX系统>,下面介绍另一 ...

  5. Linux进入救援模式全盘修复,linux进入救援模式的方法

    什么情况下我们需要进入救援模式,当我们无法以超级用户登录到系统,同时GRUB也设置了密码,我们无法修改kernel参数以单用户模式修改超级用户的密码.无论什么原因导致以上无法进入系统的情况,这时候我们 ...

  6. linux ata4 serror,linux系统救援模式解决开机引导失败问题

    问题:linux开机后进入grub命令行且grub命令行输入命令报错 推测:因之前系统装好以后改变过分区,而导致不能读取到grub主开机引导程序 在解决这个问题之前我们先来了解linux开机启动过程. ...

  7. Linux:运行级别,root密码重置,救援模式,安装图形化界面

    运行级别,root密码重置,救援模式,安装图形界面 运行级别 1.查看当前系统的运行级别 runlevel 2.认识各个运行级别以及开机自启运行级别 Linux系统运行级别共7个执行 vi /etc/ ...

  8. 救援模式下更改用户密码

    救援模式就是使用单用户模式不能进入系统时使用的,跟windows下使用pe盘的情况是类似的. 在这种请况下可以修改root密码,可以拷贝文件. 1.准备一张光盘,一般要与操作系统对应,至少大版本是一样 ...

  9. linux救援模式使用yum,linux学习笔记-第二课-yum,救援模式,单用户模式,运行级别...

    一.学习yum命令 yum list ==> 列出一个或一组软件包 grouplist ==> 列出关联数据包清单 install package1 [[package2] [...] = ...

最新文章

  1. u-boot中filesize环境变量【转载】
  2. LeetCode 12 Integer to Roman (整数转罗马数字)
  3. 12岁女孩零编程经验开发系统千人用,80岁初代程序员300多天打卡学AI
  4. 计算首站到末站最小费用
  5. android 得到毫秒时间戳,android – Location.getTime()总是返回没有毫秒的时间戳
  6. Qt Creator设置Conan
  7. koa mysql mongodb_koa 操作MongoDB数据库
  8. C语言libcurl:RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议
  9. 【C语言】printf()函数详解
  10. 怎么将tflite部署在安卓上_手把手教程:如何从零开始训练 TF 模型并在安卓系统上运行...
  11. Python数据库 -- SQL语句的语法问题(即对于字符串的特殊处理)
  12. Oracle 11g R2 软件下载网址收藏
  13. 全球公认最搞笑的15则冷笑话
  14. odi连接oracle数据库,ODI Studio 11g 连接Essbase数据源
  15. 徒步运动软件怎么申请测试,专业人士教你如何顺利完赛50公里徒步
  16. 超阅读:数码时代的文本变革
  17. 旅行青蛙分析(Android篇)
  18. 驱动器开发:基础概念一览
  19. 我逛遍各大论坛,分享这份大厂招聘总结:涵盖Java岗位95%+真题
  20. 正则表达式(一) search

热门文章

  1. L2范数(L2 Norm)与均方差(MSE)
  2. 关于Https的加密过程理解
  3. detail texture与splat texture
  4. mysql数据库求平均值的函数_使用MySQL中的AVG函数求平均值的教程
  5. The Men Who Stole the World
  6. Linux 安装miniconda 配置清华镜像 并安装pytorch
  7. siri捷键_如何使Siri响应您的声音(不按任何键)
  8. (java)计算周工资,输入某雇员的每周工作时间(以小时计)和每小时的工资数,计算并输出他的工资。若雇员周工作小时超过40小时,则超过部分按原工资的1.5倍的加班工资来计算。若雇员每周工作小时超过
  9. 不要迷恋我,我只是利用Python修改了游戏内存
  10. js给textbox赋值,后台取值的问题