12

I noticed in the documentation for rm as obtained by rm --help the following flag:

--no-preserve-root  do not treat `/' specially

What does this mean? Is it actually possible to delete the root directory, apart from its contents? What consequences would that have?

Oliver Salzburg
  • 89,072
  • 65
  • 269
  • 311
gerrit
  • 1,648
  • 7
  • 21
  • 38

1 Answers1

28

You cannot delete the root directory itself. However, you can use rm's recursive mode to delete everything in that directory – the infamous rm -rf / command.

The "preserve root" mode stops rm from recursively operating on the root directory:

$ sudo rm -rf /
rm: it is dangerous to operate recursively on ‘/’
rm: use --no-preserve-root to override this failsafe

The --preserve-root option was added to GNU rm in 2003 (commit 9be74f6f125b2be), and was made the default behavior in 2006 (commit aff5a4f2ab86f).

Some say it is because pranksters in #ubuntu kept telling newbies to run rm -rf / – and many did. Some say it is because it is too easy to mistype rm -rf / tmp/junk. Some say it is to prevent accidents when running rm -rf $dir/ when $dir is empty. All we know is, he's called th

Either way, it is part of POSIX requirements nowadays. Solaris rm also has similar protection, as does OpenBSD.

grawity
  • 501,077