隙あらば寝る

うぇぶのかいしゃではたらくえんじにあがかいています

rm -rf / について気になった

話題になっていた以下の記事、rm -rf は守られているという話。

japanese.engadget.com

少し気になったので背景を調べてみた。

まずは試してみる。

$ sudo docker run -it --rm ubuntu:12.04 bash     
root@4608f379dea7:/# rm -rf /
rm: it is dangerous to operate recursively on `/'
rm: use --no-preserve-root to override this failsafe
root@4608f379dea7:/# 

なるほど --no-preserve-root をつければ良い。

linux の rm コマンドは coreutils に入っているので、このオプションが導入されたコミットを追ってみる。

Savannah Git Hosting - coreutils.git/commit

2006 年に変更されたらしい、もう10年も前でけっこう古い。

リリース的には 6.0 に含まれているらしい。

確認したところ最近の ubuntu だと 8.21 だったので、今時のディストリビューションだと 6.0 より下はなかなかないだろうな...

と思っていたらまさかの利用ディストリ発見。

$ sudo docker run -it --rm centos:centos5 rm --version
rm (GNU coreutils) 5.97
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software.  You may redistribute copies of it under the terms of
...

centos5 ってまだサポート期間中らしい...すごい...

centos5 を使っている人は rm -rf / に気をつけたほうが良さそう。

(もうすぐサポート切れのようだし誰も使ってないことを祈る)