Ubuntu14.04不小心移动/usr/lib到/usr/loacal/lib下的解决方案
***学习Cmake时,在主目录下不小心手贱,把命令敲错成了:sudo mv /usr/lib /usr/local/lib导致了一系列不正常***
具体表现为:
1 无法通过sudo 移动回来,完全无法使用sudo报错:找不到/usr/lib/sudoers这个文件等。
2.界面操作瘫痪,重启必将导致系统崩溃。
3.无法调出新的终端(如果有正在运行的浏览器,终端什么的先别忙着关)
现在有下面几种解决途径:
1.如果你在Ubuntu下创建过root用户:
使用命令
su root
应该可以移回来,如果不能移动,可以先进入root用户,然后通过命令
/lib64/ld-linux-x86-64.so.2 –library-path /usr/local/lib/lib /bin/cp -rfp /usr/local/lib/lib /usr
复制回来。
ps:这条命令可以应对更糟糕的情况(如把/usr/lib和/usr/bin等多个文件都移到另外的文件夹下),具体详见:http://blog.51cto.com/sharkyan/771966
2.如果没有创建root用户(Ubuntu默认没有创建):
在执行su root 会提示不被许可,这时可以通过启用Ubuntu的修复模式解决。
(如果不放心,可以先备份,但是此时系统文件已经没法备份了,主目录下的文件可以备份到u盘,插上u盘,在主目录下使用命令:cp -ra . /media/“你的用户名”/“U盘名”。)
重启后,在引导界面选择修复模式Advanced option for Ubuntu > linux- XXXX - (recovery)
选择root(倒数第二项)获取root权限
这时虽然已经获取了root权限,但是如果直接
mv /usr/local/lib/lib /usr
会提示错误:意思是/usr只有读取权限,不能写入,这时要暂时更改/usr权限(系统修复成功后记得改回来哈)
chmod 777 /usr
此时又提示出错:
chmod:changin个permissions of ‘/usr’:Read-only file system,
不要慌,通过以下命令解决:
mount -rw -o remount /
然后可以修改/usr权限为可读可写可执行模式了:
chmod 777 /usr
不报错就是已经修改过来了,也可以用ls -l 看下。
改过来后,再把文件移回去:
然后
reboot
重启,没问题,perfect!!!