误操作 rpm -e --nodeps zlib
误删缘由:目的是要升级ssh版本,结果好像是冥冥之中有股力量在作祟迫使我粘了一条致死的命令rpm -e --nodeps zlib就执行了,奇怪的是执行之后根本就全然不知。最后在敲rpm命令时居然报错了:”rpm:error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory“ 纳闷半天上翻命令才发现那条刺眼的命令矗立在那儿.........什么时候敲得?为什么会敲这个?这不是我敲的吧?
反正是懵了,老大早上刚给的服务器让我升级呢!!!速速找google蜀黍,讲这是ssh的依赖库,它要是没了,yum、rpm、scp、ssh、rsync、ftp、tftp等命令都没法使用了。补救办法是从其他相同系统的服务器上拷一份libz.so.1(后来发现是libz.so.1.2.3)文件上传至此服务器即可(前提是服务器已经安装了lrzsz),屋漏偏逢连夜雨,就是没装!!!没辙了最后乖乖承认错误寻找解决办法,结果被告知那台服务器在外省那边也没运维相关的技术人员,当时差点都以为自己要去出差了。后来老大联系了那边的一个非技术主管去机房通过微信协助我解决这个问题,几经波折最后总算完美补救了,所以想给大家分享下具体解决过程,避免多走弯路。
第一步:刚开始系统都起不来的,所以只能进入单用户模式补救。进入单用户方法:
1、启动的时候,提示“press any key to enter menu”,这时回车。若有加grub密码,需要先按p,输入密码方可进行后面的操作。
出现: “CentOS (2.6.32-358.e16.i686)” 菜单。
下面有提示:输入'e' to edit the commands before booting.
因此,我们输入 'e'字符,接着的界面会有3个选项出现:
root (hd0,0)
kernel /vmlinuz-...
initrd /initramfs...
2、 选择中“kernel ...”这一行,然后按下"e"键,这时提示:
<BOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
我们在这行的末尾输入 " single“或者"1” (注意,single前面有个空格),回车。
这将回到3个选项的那个界面(这时第二项依旧处于选中状态),然后按下 'b'
3、然后等待,操作系统启动完成,期间不需要输入密码!命令行显示为:
[root@localhost /]#
第二步:因为目前所有上传文件的命令都无法使用,所以只能使用U盘来上传。
1、从其他服务器拷贝一份libz.so.1.2.3文件存至U盘,然后将U盘插到进入单用户的补救服务器上。
2、查看U盘的分区名
# fdisk -l
可以看到U盘的分区名是/dev/sdc1,所以挂载/dev/sdc1
3、新建挂载目录,并挂载U盘
# mkdir /upan
# mount /dev/sdc1 /upan/
4、查看U盘文件
# cd /upan/
# ls
5、将libz.so.1.2.3拷贝至/lib64/
# cp ./libz.so.1.2.3 /lib64/
6、将libz.so.1.2.3链接为libz.so.1(因为在之前使用rpm报错是:cannot open libz.so.1,其实libz.so.1是libz.so.1.2.3的链接文件,正真缺失的是源文件libz.so.1.2.3)
# ln -s /lib64/libz.so.1.2.3 /lib64/libz.so.1
7、此时要恢复的内容已完成,现在卸载并拔出U盘
# cd / (必须先退回到根目录下,再执行umount命令,不然会报错提示U盘在使用,无法卸载)
# umount /dev/sdc1
8、重启服务器
# reboot
9、测试 rpm 、ssh均可使用,整个修复过程结束。
误操作 rpm -e --nodeps zlib的更多相关文章
- MySQL误操作后如何快速恢复数据
基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,MySQL误操作后如何快速回滚?比如,delete一张表,忘加限制条件,整张表没了.假如这还是线上环境核心业务数据,那这事就闹大了 ...
- Oracle数据库常见的误操作恢复方法(上)
实验环境:Linux6.4 + Oracle 11g 面向读者:Oracle开发维护人员 概要: 1.误操作drop了emp表 2.误操作delete了emp表 3.误操作delete了emp表的部分 ...
- git代码库误操作还原记录
先做一些前情提要: 我们项目使用git作为代码管理,同时为了操作更方便,安装了乌龟git(tortoiseGit)工具.以下几乎所有操作都是在乌龟git上进行. 我们的项目是分阶段完成的,在完成上一阶 ...
- ApexSQL Log-SQL误操作恢复工具
今天不小心对数据库执行了一次误操作,心想有没有什么工具能恢复这次误操作呢?于是找到了Log Explorer 4.2,可惜它最多只支持SQL 2005,在SQL 2008上无法使用,然后又找到了Ape ...
- 背景:表A数据误操作,被delete了,恢复。
SELECT MAX(Scn) FROM Sys.Smon_Scn_Time WHERE Time_Dp < TO_DATE('2015-09-18', 'YYYY/MM/DD') select ...
- oracle 如何查询过去某个时间点的记录(应用于某个时间点的误操作,回滚到之前的操作)
这个功能是在自己误操作,将某些数据更改错了,你想恢复更改错之前的数据,这个时候你可以使用这种方式 不过建议要小心更改数据,如果实在有必要去更新,请先备份数据表,不到万不得以才可以这么做. SE ...
- 防止用户误操作退出APP的处理
/** * 软件退出的处理:先跳到第一个页面,再点提示“再点一次退出”,2秒内再点一次退出 * 防止用户误操作 */ private boolean isExist=false; private Ha ...
- MySQL【Update误操作】回滚(转)
前言: 继上一篇MySQL[Delete误操作]回滚之后,现在介绍下Update回滚,操作数据库时候难免会因为“大意”而误操作,需要快速恢复的话通过备份来恢复是不太可能的,因为需要还原和bi ...
- SQLServer 2008以上误操作数据库恢复方法——日志尾部备份(转)
问题: 经常看到有人误删数据,或者误操作,特别是update和delete的时候没有加where,然后就喊爹喊娘了.人非圣贤孰能无过,做错可以理解,但不能纵容,这个以后再说,现在先来解决问题. 遇到这 ...
随机推荐
- Adobe CC update (Windows/Mac OS) 独立升级包下载
Windows 版 xiaogezi.cn Photoshop CC 下载 Download 大小 Size 日期 Date 文档 Notes Adobe Photoshop 14.2.1 Updat ...
- 51Nod 1007 正整数分组(01背包)
将一堆正整数分为2组,要求2组的和相差最小. 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的. Input 第1行:一个数N,N为正整数的数量. ...
- Android 查看CPU及内存
借助getprop.dumpsys来了解一些系统相关信息. 一.getprop adb shell cat /system/build.prop 文件中存放的是用于启动系统时需要的配置文件,通常可以通 ...
- 【Henu ACM Round#20 E】Star
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 找规律. 1,13,37.... 6n(n-1) + 1 [代码] #include <bits/stdc++.h> # ...
- CSU 1249 竞争性酶抑制剂和同工酶
1249: 竞争性酶抑制剂和同工酶 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 109 Solved: 49 Description 人体内很多化学 ...
- 怎么打开/查看MySQL的SQL记录
mysql在执行sql的时候会在日志当中记录很多信息,当然包括执行的所有语句.下面以使用navicat for mysql为例,来展示一下如何打开/查看MySQL的SQL记录: 打开navicat f ...
- NYOJ_77 开灯问题
题目地址 分析: 用一个数组来保存每盏灯的操作的次数.推断奇偶就可以推断灯的状态. 最后的输出格式须要注意一下空格的位置,思路就是现输出一个.剩下来的输出在前面加一个空格. 空格用_表示: 1_3_5 ...
- android 聊天室窗体
public class MainActivity extends Activity { ScrollView scrollView; Button button; LinearLayout layo ...
- Linux学习笔记--cp命令(复制)
cp:英文名copy,复制的意思. 1. 命令格式: cp [选项] 源文件或文件夹 目标文件或文件夹 cp [选项] 源文件1 源文件2 源文件3 ... 目标文件夹 2. 经常使用选项: &quo ...
- BZOJ 3781 莫队
思路:不能再裸的裸题-- //By SiriusRen #include <cmath> #include <cstdio> #include <algorithm> ...