如果我在登录时尝试删除Ubuntu会发生什么?
如果我以root身份登录到Ubuntu时删除/
目录会发生什么?
我是否会因错误的影响而出现某种Error: unable to self-destruct
? 或者我真的能删除目录吗?
我确实在现场USB上尝试了这个问题,以便在前一段时间回答Quora上的一个问题 (Eric Bowersox还有另一个很棒的答案)。
首次尝试已安装的系统,我确信不会发生任何事情:
# cd / # rm -rf / rm: it is dangerous to operate recursively on `/' rm: use --no-preserve-root to override this failsafe # rm -rf . rm: cannot remove directory: `.' #
所以,我在现场USB上尝试了它(引自我的原帖):
Eric Bowersox鼓励我尝试使用现场USB(没有持久性)。 就像他说的那样,关于当前正在使用的文件的大量错误,以及关于正在使用的只读文件系统的另一大量错误最终导致部分GUI逐步消失:首先是Unity启动器中的图标,然后HUD的图标,然后是系统托盘中的图标。 当它全部结束时(非常快),只有终端可以聚焦,点击其他任何地方都不起作用。 我可以打开任何其他东西,甚至不是终端的偏好。 本地化和时钟小程序的菜单已打开,但无法正常工作。
切换到其他ttys工作一次(我没有尝试任何命令),但一旦我切换回GUI,没有任何工作。
这是它的样子:
在这一点上没有任何工作。 除了电源按钮和Magic SysRq键。
删除共享库或rm
本身不会导致任何问题,因为在rm
启动时它们都会被加载到内存中。
所以我在Virtualbox中运行的Ubuntu 14.10 VM中完成了它。 我自己没有费心去安装它,而是直接从osboxes.org下载了一个
在终端中运行sudo rm -rf --no-preserve-root /
导致:
- 一些按钮开始在发射器中消失
- 然后发射器消失了
- 最后所有运行终端的桌面都消失了
- 留下全蓝屏(原文如此)
那只是可见的部分。 我没有让它运行很长时间并关闭机器。
所以rm
并不是完全成功的,因为有一些文件仍然存在:/ bin,/ run,/ lib的某些部分和/ var
但没有/ boot和没有内核,所以即使模块仍在那里它也无法再次启动。
编辑 :从控制台 (在vbox中按Ctrl-Alt-F1或右键控制F1)进行操作更成功,但不那么引人注目。
它吐出了有关/ sys文件无法删除的错误,在/ proc中也是如此。 但它完成后没有任何东西。 只有/ dev下的某些设备和/ run中的某些文件。
不要这样做,但如果你做了sudo rm -rf /
rm
命令,以root
身份运行,很乐意开始删除。 如果找到一个文件,它会删除它。 如果rm
找到了一个目录,它将进入该目录,删除所有文件,然后删除该目录。 最终, rm
将用完要删除的文件,或删除rm
需要的文件(如动态库):
$ ldd $( type -p rm) linux-vdso.so.1 => (0x00007ffd4a978000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f905b7be000) /lib64/ld-linux-x86-64.so.2 (0x00007f905bbcc000)
当rm
删除/lib/x86_64-linux-gnu/libc.so.6
或/lib64/ld-linux-x86-64.so.2
它可能会中断。
Linux采用Unix的理念:“强大的工具function强大,让手指远离机器”。
如果你的目标是删除/文件夹和所有子文件夹,你可以启动到Live PenDrive并使用Gparted删除/打开的分区并重建它,如果这是你想要的。 如果您希望root下的所有其他文件夹位于不同的分区上,则可以对其他分区执行相同的操作。 当你从那里启动时,你无法通过命令行故意这样做。