番外篇
当我打出
sudo rm -rf /bin
命令的时候,我内心其实丝毫没慌。话说当时,我正在~目录下,由于需要安装ffmpeg,按照官方教程我在~下新建了/bin文件。等我输入完密码,/bin文件被删除,突然发现
ls
命令没用了,此时我已经意识到似乎发生了可怕的事。手贱的我,继续输入
exit
退出了ssh。接着我尝试再次远程连接,发现再也登入不上去了 (没关闭ssh的情况就比较好解决了) !紧接着我就去找了leader,他过来一看:????你怎么把/bin文件给删除了?????,此时leader的内心:
原地开除!!
解答篇
接上文,啥也不多说了,赶紧恢复吧。
捶胸分析
:
- 首先~路径和/路径的区别
- ~代表:/home/user/
- /代表:就是系统根目录了
- 恢复/bin的方法简单来说就是需要找到和原先系统一模一样的/bin,然后想办法弄回去。
-
第一步:先重启服务器,引导系统先查看服务器使用的linux内核(
为啥?因为后面我们找到对应服务器版本才能重新拿到/bin文件
),内核版本如下:
知道linux内核就可以找到4.4.0-31对应的ubuntu版本是14.04.5(另外,你应该知道自己是desktop还是server版本)
-
第二步:制作U盘启动盘(ubuntu14.04),去服务器用U盘启动,此时不要安装系统,而是点击试用进入。
在进入试用之前,希望你可以先做第一步
-
第三步:进去文件系统看服务器硬盘挂载在哪里。如下:
这时候你一般可以看到原来服务器挂载在哪里了,一般情况下长这样:/media/xxxx,你就可以发现原来的/bin文件在哪里找不到了。
-
第四步:找个虚拟机安装和你原来服务器一模一样的系统,安装系统后,把虚拟机的/bin文件压缩后放到另外一个u盘(你需要两个U盘,一个启动盘一个放新的/bin文件)
-
第五步:放着新bin文件的U盘插入服务器(确保U盘可以被系统识别),这时候你还在U盘启动盘那个试用版本ubuntu里,进入命令行:
sudo cp /media/usb/bin.tar /media/xxx
然后cd去服务器的硬盘里,解压
tar -xvf bin.tar
这边原理就是要把U盘的新的bin文件放到原来的服务器里
大功告成!!!!
如果我的回答解决了你的问题,请点个赞谢谢!有问题可以留言,我会尽快回复!
参考文献: