如果我在登录时尝试删除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 /导致:

  • 一些按钮开始在发射器中消失
  • 然后发射器消失了
  • 最后所有运行终端的桌面都消失了
  • 留下全蓝屏(原文如此) BSOD

那只是可见的部分。 我没有让它运行很长时间并关闭机器。

所以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下的所有其他文件夹位于不同的分区上,则可以对其他分区执行相同的操作。 当你从那里启动时,你无法通过命令行故意这样做。