よく聞く禁断の呪文である rm -rf /
ですが本当に死ぬのでしょうか。
よほど変な環境でなければ--no-preserve-root
オプションがないと、この禁断の呪文は動かないはずですが、不安になったので仮想マシンを立てて実験してみました。
tl;dr
死ぬときは死ぬ。 --no-preserve-root
で安心してはならない。
注意事項
- 動作に関して一切の保証はありません。
- もしやらかして謝罪会見になったりクビになったりしても責任は負えません。
- エンターテイメントの一種として見てください。
Ubuntu 18.04 LTS Bionic Server
root@blackmagic:~# rm -rf /
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe
ですよねー。
CentOS 7.4
「会社ではUbuntuとか使わんしw」みたいなヒンシュクを買いそうなのでこちらでもやってみます。
[root@blackmagic ~]# rm -rf /
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe
ですよねー(2回目)。念の為fedora 28でもやってみましたが、結果は一緒でした。
Alpine Linux
Alpineなら消えるという声が来たのでやってみます。
blackmagic:~# rm -rf /
rm: can't remove '/sys/module/virtio_net/sections/.rodata': Operation not permitted
rm: can't remove '/sys/module/virtio_net/sections/__ex_table': Operation not permitted
.
.
.
rm: can't remove '/sys/module/8250/parameters/skip_txen_test': Operation not permitted
blackmagic:(unknown)#
**まじで!?**詳しく調べると、busyboxのrmは禁断の呪文がオプションなしで動くようです。Alpineはbusyboxが使われているので破滅してしまいました。
Arch Linux
[root@blackmagic-arch ~]# rm -rf /
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe
[root@blackmagic-arch ~]#
openSUSE
blackmagic-opensuse:~ # rm -rf /
rm: it is dangerous to operate recursively on ‘/’
rm: use --no-preserve-root to override this failsafe
blackmagic-opensuse:~ #
Gentoo
blackmagic-gentoo ~ # rm -rf /
rm: it is dangerous to operate recursively on ‘/’
rm: use --no-preserve-root to override this failsafe
blackmagic-gentoo ~ #
さいごに
そもそも rm -rf /
を入力しなければならない状態がおかしいです。相対パスを使うべきです。