如果我在登录时尝试删除 Ubuntu 本身会发生什么?

如果我在登录时尝试删除 Ubuntu 本身会发生什么?

/如果我以 root 身份登录 Ubuntu 时删除该目录,会发生什么情况?

我会得到某种错误吗Error: unable to self-destruct?或者我实际上可以删除该目录吗?

答案1

我确实在 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 图标,然后是系统托盘中的图标。当所有操作结束时(非常快),只有终端可以聚焦,单击其他任何地方都不起作用。我可以打开其他任何东西,甚至连终端的首选项都不能打开。本地化和时钟小程序的菜单打开了,但不起作用。

切换到其他 tty 一次成功(我没有尝试任何命令),但是一旦我切换回 GUI,什么都不起作用。

当时的情况如下:在此处输入图片描述

此时什么都不起作用。除了电源按钮和 Magic SysRq 键。


删除共享库或其rm本身不会导致任何问题,因为它们在rm启动时都会被加载到内存中。

答案2

所以我连续做了Ubuntu 14.10虚拟机内部虚拟盒。我没有费心自己安装,而是直接从osboxes.org

sudo rm -rf --no-preserve-root /在终端运行导致出现以下情况:

  • 启动器中的一些按钮开始消失
  • 然后发射器就不见了
  • 最后所有运行终端的桌面都消失了
  • 只剩下一片蓝屏(原文如此)蓝屏

那只是看得见的部分。我没有让它运行太久就关闭了机器。

因此rm没有完全成功,因为仍有一些文件残留:/bin、/run、/lib 的某些部分和 /var

但是没有 /boot 也没有内核,所以即使模块仍然存在,也无法再次启动。

编辑:从安慰(Ctrl-Alt-F1 或在 vbox 中按右 Ctrl-F1)虽然不那么引人注目,但更为成功。

它吐出有关无法删除 /sys 文件的错误,/proc 中也是如此。但完成后什么也没有留下。只有 /dev 下的一些设备和 /run 中的一些文件。

答案3

永远不要这样做,但是如果你执行了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:“强大的工具才是强大的,不要让手指触及机器”。

答案4

如果您的目标是删除 / 文件夹及其所有子文件夹,您可以启动 Live PenDrive 并使用 Gparted 删除 / 所在的分区并重建它(如果这是您想要的)。如果您想要 root 下位于不同分区的所有其他文件夹,您可以对其他分区执行相同操作。当您从命令行启动时,您无法故意从命令行执行此操作。

相关内容