禁断のコマンドを味わう
Linuxは、Webサーバやクラウド・プラットフォームでのコンテナ・オペレーティングシステムとして高いシェアを持っている。今や、スーパーコンピュータTOP500のOSはすべてLinuxだ。デスクトップ・オペレーティングシステムとしてのシェアは2%前後だが、Macの5分の1程のシェアがあると考えると、かなりの台数が使われていることになる。
このLinuxだが、スーパーユーザーで『あるコマンド』を実行すると簡単にシステムを壊すことができる。チュートリアルやティップス系の記事では、そうしたコマンドは実行しないようにと必ず注意書きが追加されている。
しかし、「実行するな」と言われると、実行したくなるのがお茶目な管理者やユーザーの常というものだ。本連載では、こうした「絶対に実行してはいけない」というコマンドを淡々と実行して、その結果をお伝えする。
すべてを削除する『rm -rf /』
システムを破壊するコマンドとして、最も有名なものが『rm -rf /』だ。このコマンドを実行すると、ファイルシステムの一番上から再帰的にすべてのファイルとディレクトリの削除が実行される。システムとして機能するために必要なファイルやデータを失い、システムはまともに動作しなくなる。
Ubuntu Server 18.04 LTSでこのコマンドを実行すると、次のようになる。
「このコマンドを実行することは危険だ」というメッセージとともに、コマンドの実行が中断される。--no-preserve-rootというオプションを指定すれば強制的に実行できるとメッセージが表示されるので、『rm -rf --no-preserve-root /』と実行する。
実行中は、削除できなかったファイルやディレクトリに関するエラーメッセージが延々と流れる。
この状態をで操作を試みても、シェルはメモリ上で生きているがコマンドが削除されてしまっているので、もうまともに操作できない。シェルの組み込みコマンドを使った操作で軽くパスとファイルを確認できる程度だ。shutdownコマンドも削除されているので、コマンドからシステムをシャットダウンしたり再起動したりすることもできない。
ハードウェアリセットをかけてシステムを再起動しようとしても、起動に必要なデータが見つからないとして、起動もできない。
システムを簡単に破壊することができることで知られている『rm -rf /』だが、実際にそうなった。間違ってもこのようにコマンドを実行してはならないようだ。