VMware上に入れたUbuntu 9.04の話題。おととい、昨日と少しずつ自分好みの環境が構築できつつありますが、ここであえてルートディレクトリ以下を問答無用で消し去ってくれるとっても便利なコマンド「rm -rf /」を実行してみます。
本来このコマンドを実行するときはCUIに落としてから行いますが(もちろん、ルートディレクトリ以下を消すことは通常無い)、今回はどう壊れていくか気になるのでGUI上で思い切ってチャレンジ。端末を起動し、次を入力してみます。
$ sudo rm -rf /
が、このままでは実行できません。最近のLinuxは、セキュリティー上の配慮からかルートディレクトリを消すことが出来ないようになっています。それを可能にするには、もう一つパラメータを追加する必要があります。
$ sudo rm -rf --no-preserve-root /
それがこの「–no-preserve-root」。ルートディレクトリの削除を許可するパラメータです。
コマンド実行の準備が完了。もうひとつの端末はtopコマンドでプロセス状態を表示させておきます。では開始。
実行した途端、HDDがガリガリ言い始めました。
30秒後。rmがCPU使用率を占有しはじめます。
1分後。Tasksが138から一つ減って137に。
1分半後。後ろの端末の画面が止まっているように見える=削除が順調に進んでいるようです。
2分後。後ろのファイル・ブラウザには何の変化もありません。
2分半後。ここにきてプロセスからrmが消えました。しかし、削除作業は中断することなく続けられていきます。
3分後。コマンドの実行が終了し、端末が再び入力を受け付ける状態になるも、謎のエラーが発生。
よくみると、デーモンなどの一部プロセスはまだまだ生きている様子。
ファイル・ブラウザを見てみると、いくつか消えていないファイルが残っていますが…
表示メニューから再読み込みをしてみると…
残ったのは「dev」「home」「lib」「proc」「sys」「var」の6つだけに。中身を確認しようにもlsコマンドが消えているので見られません。
実行が終わった最後の端末画面。消せなかった物はどうやらディレクトリのようですが、そもそもディレクトリアイコンが残っていない様子。
てっきり全てのコマンドが消えていると思いきや、「cd」や「pwd」などは生き残っています。
いろいろな場所をマウスでぽちぽちクリックしていたら、突然メニューバーとタスクバーが消えました。
端末のメニューから新しい端末ウィンドウを開こうとしたところ、端末も強制終了。残ったのはファイル・ブラウザのみに。
ここに来て気がつきましたが、どうやら壁紙も消えているようです。
デスクトップを右クリックできたので、新しいディレクトリを作成してみます。
そもそもデスクトップというディレクトリが消えているので、当然エラーに。
そして、ファイル・ブラウザのファイルメニューから「新しいウィンドウ」をクリックしたところで、完全にシステムがクラッシュ。
キーボード操作を受け付けなくなり、茶色の背景に黒いマウスカーソルが動くだけになりました。
「rm -rfを実行すると、rmコマンドが消えても削除は続く」という予備知識はありましたが、GUI上で実行してみると実は消えていないプロセスやディレクトリがいくつかあることが分かりました。
生き残ったウィンドウたちも、メニューから存在しないコマンドを呼び出すことで強制終了することや、マウスやキーボードは最後の最後まで入力を受け付けようとすることもわかり、遊び半分で実行したにもかかわらず、ちょっと勉強になりました。