误操作 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,然后就喊爹喊娘了.人非圣贤孰能无过,做错可以理解,但不能纵容,这个以后再说,现在先来解决问题. 遇到这 ...
随机推荐
- Java基础学习补充 -- 异常处理和log4j日志
Java中的异常处理 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. Java中所有异常的基类Throwable:Throwable又分为Error类和Excepti ...
- 一些标签库的学习和do的讨论
JSTL 核心标签库http://www.cnblogs.com/lihuiyy/archive/2012/02/24/2366806.html .do的讨论http://bbs.csdn.net/t ...
- rails 开发随手记 7
jQuery 1.9 中如何修改选择项 $("select option:contains(teacher5)").prop('selected', 'selected'); 效果 ...
- codeforces 401 B Sereja and Contests【贪心】
题意:给出最后的时间n,div 1必须和div2一起举行,并且div2的时间总是比div1大1 给出Sereja(只能参加div2)参加过的k场比赛的时间,问他最少错过了多少场div2,最多错过了多少 ...
- 洛谷P1164 小A点菜 && caioj 1410 动态规划1:点菜(背包方案问题)
方程很简单 f[0] = 1 f[j] += f[j-w[i]] #include<cstdio> #define REP(i, a, b) for(int i = (a); i < ...
- Unity Shader (三)Surface Shader机制
转自:http://blog.csdn.net/candycat1992/article/details/39994049 写在前面 一直以来,Unity Surface Shader背后的机制一直是 ...
- 【ICM Technex 2018 and Codeforces Round #463 (Div. 1 + Div. 2, combined) A】 Palindromic Supersequence
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 字符串倒着加到原串右边就好 [代码] #include <bits/stdc++.h> using namespace ...
- 国庆 day 3 下午
a[问题描述] 你是能看到第一题的 friends 呢. ——hja 给你一个只有小括号和中括号和大括号的括号序列,问该序列是否合法.[输入格式] 一行一个括号序列.[输出格式] 如果合法,输出 OK ...
- impala jdbc4的group by语句的bug,加上limit没错
这里用的ImpalaJDBC4.jar SELECT field1 alias1 FROM table1 where field1 ='xxxx' group by alias1 这句话impala会 ...
- Dojo入门篇
Dojo是一个JavaScript实现的开源DHTML工具包,Dojo最初的目标是解决开发HTML应用程序中遇到的一些长期存在的问题.然而如今Dojo已经成为了开发RIA应用程序的利器. Dojo让W ...