IMPORTANTE: i moderni sistemi UEFI montano il firmware nella /sys
directory e lo rendono disponibile al sistema operativo. NON eseguire questo comando su un sistema moderno poiché rimuoverà questo firmware, essenzialmente rovinando la macchina.
Lo scenario più semplice che mi viene in mente è qualcuno che vuole eliminare tutti i dati dal proprio disco. Ci possono essere ragioni perfettamente legittime per farlo e il modo più semplice a cui riesco a pensare è
rm -rf --no-preserve-root /
Si scopre che questo è effettivamente dato come esempio in info rm
:
`--no-preserve-root'
Do not treat `/' specially when removing recursively. This option
is not recommended unless you really want to remove all the files
on your computer.
Un altro motivo perfettamente valido è che si desidera eliminare un file system montato in cui si è chroot
inseriti. In tal caso, rm -rf --no-preserve-root /
eliminerà il sistema chroot
nell'ambiente ma lascerà intatto il tuo.
Sono sicuro che ci sono più ragioni possibili, ma in generale sembra un approccio molto ragionevole che il mio sistema mi permetta di fare tutto ciò che voglio con esso. Il mio compito è fare attenzione, il sistema dovrebbe permettermi solo di fare ciò che voglio. Se quello che voglio è stupido, questo è il mio problema e non quello del sistema operativo.
Comunque, questa è una restrizione relativamente nuova, è stata aggiunta nella settima versione della specifica POSIX (la precedente è qui), prima che rm -rf /
fosse un comando perfettamente valido. Da un punto di vista storico, le directory .
e ..
sono sempre state protette rm
, sin dal 1979, quando hanno rm
acquisito per la prima volta la possibilità di eliminare le directory. Maggiori informazioni qui .
/
, ma il "caso generale" è ancora rappresentato. In altre parole: »Non è compito del mio computer dirmi cosa devo fare.« E non dovrebbe esserlo.