您的位置:首页 > 运维架构 > Linux

误删ubuntu下/usr/bin

2016-03-12 20:41 351 查看
今天晚上在家用windows远程登陆公司的服务器,想尽快调好已经折腾了挺久的一个脚本。

shell用的是chrome的插件secure shell,体验不错,但是没有复制黏贴的功能。跑一个脚本的时候出错,在网上搜了一下,说要删掉一个usr/bin下的python egg

目录比较长,我先打了rm -rf usr/bin 然后再翻回网页看剩下的路径,结果手一滑就吧usr/bin整个目录删掉了

。虽然使用linux有一段时间,对系统其实不太熟,但也隐隐约约知道坏了事,到底是root下的系统目录。赶紧跑了一下脚本,连sudo都没有了

。于是就在网上搜索如何修复这个问题(每次在linux下误删文件都无比怀念windows。。)。基本所有的回复都是建议重新安装os
或者boot from livecd,把usr/bin拷进去。因为这个目录里是很多系统命令,还有很多软硬链接,非常容易messup;并且因为没有了一些最基本的系统命令,并没有可以通过运行命令来修复的办法。

因为我周末进不去机房impi也没有不可以远程重装,所以所有的reboot方法都不可行。我的内心有那么一会是崩溃的。。。

干脆死马就当活马医,试试从别的ubuntu机器把usr/bin拷过去,大不了就周一去机房重装。于是找了一台新安装的ubuntu,用winscp它的usr/bin下下来,再拷到这台服务器上。拷过去之后试了一下sudo,很可惜,permission denied(excuse me, 你是sudo哎

),查看了一下usr目录下的其他文件夹,发现bin的权限不太对。在网上又搜索了下,说的也是要把权限改对。

有一点很重要的就是,虽然我前面作了大死把目录删掉,但很幸运的是我的secure shell一直是root,所以可以顺利用chmod改掉bin以及bin里面文件的权限。把bin改成和其他目录一样的权限,里面的目录改成755:chmod 755 *   

sudo则是 chmod 4755 sudo

然后就可以顺利运行脚本了!

wow,大大的松了一口气。

其实想一想,修复误删这个问题的方法很简单,就是把它拷回来,而网上压倒性的重装建议是因为这个目录管理系统命令的binary,非常复杂。如果从别的机器拷过来,很容易就messup,所以重装或者从livecd里拷都是一个更好的办法。而我这台机器和拷目录的机器其实也是这两天刚重装的系统的,应该是没有太大的改动。并且我的shell一直是root用户(幸好没有一生气就把shell关了之类的),如果不是root,用chmod改权限就不会成功。

虽然脚本可以顺利跑起来,可能还有一些别的问题。

说到底的takeaway还是,1不要作死 2要多了解了解linux 系统
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu os linux