202 votes

Jusqu'où pouvez-vous aller avec une commande 'rm -rf /' ?

Je me suis souvent demandé jusqu'où irait le système si on le faisait tourner. rm -rf / . Je doute que le système d'exploitation soit capable de s'effacer lui-même ( ?).

Question bonus : Après l'exécution de la commande, le rm s'est retiré lui-même ?

Update: J'ai testé ceci dans quelques unes des principales distributions Unix en utilisant VirtualBox et les réponses décrivent exactement ce qui se passe. Si les paramètres sont corrects, rm supprimera chaque bit physique de données sur le disque. Cependant, j'ai rencontré quelques problèmes en utilisant une version de rm autre que celle de GNU. Par exemple, je crois que BusyBox a sa propre version et elle ne vous permet pas de supprimer autant de données que vous le pourriez.

Cette question était un Question de la semaine pour les super utilisateurs .
Lire l'article du 7 juillet 2011 entrée de blog pour plus de détails ou soumettez votre propre La question de la semaine.

190voto

Ambroz Bizjak Points 4595

Si vous avez rm de GNU coreutils (très probablement si c'est une distro Linux normale), rm -rf / sera refusé par la protection intégrée (selon la page de manuel et Wikipedia, je n'ai pas essayé).

Vous pouvez contourner cette protection avec --no-preserve-root . rm supprimera alors tout ce qu'il peut, sans s'arrêter après avoir tenté de supprimer chaque fichier. Bien sûr, il ne supprimera pas les systèmes de fichiers virtuels tels que /proc et /sys mais cela n'a rien à voir - il supprimera tout ce qui se trouve sur votre disque.

Une fois la commande terminée, votre disque sera effacé et vidé, y compris le système d'exploitation. Le noyau et les processus actuels continueront à fonctionner en mémoire, mais de nombreux processus mourront parce qu'ils n'auront pas réussi à accéder à un fichier. Le système d'exploitation ne pourra pas démarrer la prochaine fois.

42voto

Xeoncross Points 4124

Pour ceux qui aiment faire ce genre de choses visuellement tout en écoutant de la musique techno.

Exécution de rm- rf sous Linux (vidéo)

Des points bonus si vous pouvez nommer les processus lorsqu'ils commencent à mourir.

22voto

Pricey Points 4504

Configurer une VM et essayer pour le plaisir ?

Cela va aller assez loin... si vous utilisez une interface graphique, vous pourriez vous amuser à remarquer que les choses se dégradent de manière plus visible. (les icônes des menus cessent de se charger etc.)

Si vous le laissez aller, le système d'exploitation sera pratiquement irrécupérable, mais vous pourrez peut-être récupérer certaines données facilement.

Dans tous les cas, vous devrez réinstaller le système d'exploitation.

12voto

Eh bien, en l'essayant http://bellard.org/jslinux/ produit :

rm : impossible de supprimer '/dev/pts' : Périphérique ou ressource occupé
rm : impossible de supprimer '/dev' : Le répertoire n'est pas vide
rm : impossible de supprimer '/proc/swaps' : Opération non autorisée
rm : impossible de supprimer '/proc/kallsyms' : Opération non autorisée
rm : impossible de supprimer '/proc/dma' : Opération non autorisée

SNIP 881 entrées

rm : impossible de supprimer '/proc/149/oom_adj' : Permission refusée
rm : impossible de supprimer '/proc/149' : Opération non autorisée
rm : impossible de supprimer '/proc' : Périphérique ou ressource occupé
rm : impossible de supprimer '/tmp' : Périphérique ou ressource occupé
rm : impossible de supprimer '/' : Périphérique ou ressource occupé

7voto

zwol Points 1230

Je me souviens que cette question a été examinée sur alt.sysadmin.recovery dans les temps anciens, quand il n'y avait pas de chose telle que /proc y /dev était juste un répertoire normal contenant des entrées pour un tas d'inodes inhabituels...

... mais, sur certaines variantes d'Unix (je me souviens de HP-UX, mais cela peut être totalement faux), vous pouviez no supprimer la dernière entrée du répertoire d'un programme en cours d'exécution. (Bibliothèques partagées ? C'est quoi ça ?)

Sur de tels systèmes, si vous en démarrez un en mode maintenance (donc rien ne tourne à part votre Shell, pas même init et aucun système de fichiers secondaire n'était monté) et a fait exec /bin/rm -rf / vous vous retrouveriez avec un système de fichiers racine complètement vide. sauf que /bin et /bin/rm survivrait.

Les habitants du monastère du diable effrayant considéraient que c'était approprié et convenable.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X