CentOS 救援模式 (rescue installed system)修复损坏系统
前段时间遇到开发人员更新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选项了:
选择Continue,则救援模式程序会自动查找系统中已有的文件系统,并把他们挂载到/mnt/sysimage目录下。
选择Read-Only,则会以只读的方式挂载已有的文件系统。
手动挂载则Skip。
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)修复损坏系统相关推荐
- CentOS 救援模式
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 CentOS 启动救援模式 前言 提示:这里可以添加本文要记录的大概内容: 机器重启后无法进入系统,试着用CentOS的救援模式修复一 ...
- CentOS通过 liveCD 进入救援模式-重装 grub 修复损坏的
实戓:使用系统光盘进入救援模式拯救坏掉的系统. 实戓场景:当系统坏了,进不去了,还需要把里面的数据复制出来,怎么办? 可以进入救援模式拷贝数据. 基亍 6 版本系统进入救援模式 1.修改 BIOS 吭 ...
- CentOS 7 单用户模式+救援模式
有时候大家可能会忘记自己的root密码,或者错误(命令输入错误,命令位置输入有误等)编辑了一个/etc目录下的核心文件导致系统不能正常启动了!怎么办?重新安装系统那是实在没有办法之举!那我们就进入如下 ...
- 使用rufus工具U盘安装DotAsterisk(点星PBX)呼叫中心并进入救援模式修复grub引导
之前有过一篇介绍采用UltraISO制作点星pbx启动光盘U盘安装点星pbx呼叫系统的文章教程--<U盘安装DotAsterisk(点星PBX)企业呼叫中心或IPPBX系统>,下面介绍另一 ...
- Linux进入救援模式全盘修复,linux进入救援模式的方法
什么情况下我们需要进入救援模式,当我们无法以超级用户登录到系统,同时GRUB也设置了密码,我们无法修改kernel参数以单用户模式修改超级用户的密码.无论什么原因导致以上无法进入系统的情况,这时候我们 ...
- linux ata4 serror,linux系统救援模式解决开机引导失败问题
问题:linux开机后进入grub命令行且grub命令行输入命令报错 推测:因之前系统装好以后改变过分区,而导致不能读取到grub主开机引导程序 在解决这个问题之前我们先来了解linux开机启动过程. ...
- Linux:运行级别,root密码重置,救援模式,安装图形化界面
运行级别,root密码重置,救援模式,安装图形界面 运行级别 1.查看当前系统的运行级别 runlevel 2.认识各个运行级别以及开机自启运行级别 Linux系统运行级别共7个执行 vi /etc/ ...
- 救援模式下更改用户密码
救援模式就是使用单用户模式不能进入系统时使用的,跟windows下使用pe盘的情况是类似的. 在这种请况下可以修改root密码,可以拷贝文件. 1.准备一张光盘,一般要与操作系统对应,至少大版本是一样 ...
- linux救援模式使用yum,linux学习笔记-第二课-yum,救援模式,单用户模式,运行级别...
一.学习yum命令 yum list ==> 列出一个或一组软件包 grouplist ==> 列出关联数据包清单 install package1 [[package2] [...] = ...
最新文章
- u-boot中filesize环境变量【转载】
- LeetCode 12 Integer to Roman (整数转罗马数字)
- 12岁女孩零编程经验开发系统千人用,80岁初代程序员300多天打卡学AI
- 计算首站到末站最小费用
- android 得到毫秒时间戳,android – Location.getTime()总是返回没有毫秒的时间戳
- Qt Creator设置Conan
- koa mysql mongodb_koa 操作MongoDB数据库
- C语言libcurl:RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议
- 【C语言】printf()函数详解
- 怎么将tflite部署在安卓上_手把手教程:如何从零开始训练 TF 模型并在安卓系统上运行...
- Python数据库 -- SQL语句的语法问题(即对于字符串的特殊处理)
- Oracle 11g R2 软件下载网址收藏
- 全球公认最搞笑的15则冷笑话
- odi连接oracle数据库,ODI Studio 11g 连接Essbase数据源
- 徒步运动软件怎么申请测试,专业人士教你如何顺利完赛50公里徒步
- 超阅读:数码时代的文本变革
- 旅行青蛙分析(Android篇)
- 驱动器开发:基础概念一览
- 我逛遍各大论坛,分享这份大厂招聘总结:涵盖Java岗位95%+真题
- 正则表达式(一) search
热门文章
- L2范数(L2 Norm)与均方差(MSE)
- 关于Https的加密过程理解
- detail texture与splat texture
- mysql数据库求平均值的函数_使用MySQL中的AVG函数求平均值的教程
- The Men Who Stole the World
- Linux 安装miniconda 配置清华镜像 并安装pytorch
- siri捷键_如何使Siri响应您的声音(不按任何键)
- (java)计算周工资,输入某雇员的每周工作时间(以小时计)和每小时的工资数,计算并输出他的工资。若雇员周工作小时超过40小时,则超过部分按原工资的1.5倍的加班工资来计算。若雇员每周工作小时超过
- 不要迷恋我,我只是利用Python修改了游戏内存
- js给textbox赋值,后台取值的问题