É possível remover o diretório raiz?

5

Eu observei na documentação de rm conforme obtido por rm --help o seguinte sinalizador:

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

O que isso significa? É realmente possível excluir o diretório raiz, além de seu conteúdo ? Quais consequências isso teria?

    
por gerrit 28.01.2013 / 17:59

1 resposta

14

Você não pode excluir o próprio diretório raiz. No entanto, você pode usar o modo recursivo do rm para excluir tudo no diretório - o infame rm -rf / .

O modo "preservar raiz" impede que rm funcione recursivamente no diretório raiz:

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

A opção --preserve-root foi adicionada ao GNU rm em 2003 (commit 9be74f6f125b2be), e foi feita a comportamento padrão em 2006 (commit aff5a4f2ab86f).

Alguns dizem que é porque os brincalhões em #ubuntu continuavam dizendo aos novatos que executassem rm -rf / - e muitos fizeram . Alguns dizem que é porque é muito fácil digitar rm -rf / tmp/junk . Alguns dizem que é para evitar acidentes quando executando rm -rf $dir/ quando $ dir está vazio. Tudo o que sabemos é que ele é chamado th

De qualquer forma, é parte dos requisitos POSIX hoje em dia. O Solaris rm também tem proteção semelhante , assim como o OpenBSD .

    
por 28.01.2013 / 18:05

Tags