禁断のコマンドを味わう

Linunxは、Webサーバやクラウドプラットフォームでのコンテナオペレーティングシステムとして高いシェアを持っている。今や、スーパーコンピュータTOP500のOSはすべてLinuxだ。デスクトップオペレーティングシステムとしてのシェアは2%前後だが、Macの5分の1程のシェアがあると考えると、かなりの台数が使われていることになる。

このLinuxだが、スーパーユーザーで『あるコマンド』を実行すると簡単にシステムを壊すことができる。チュートリアルやティップス系の記事では、そうしたコマンドは実行しないようにと必ず注意書きが追加されている。

しかし、実行するなと言われると、実行したくなるのがお茶目な管理者やユーザーの常というものだ。本連載では、こうした「絶対に実行してはいけない」というコマンドを淡々と実行して結果をお伝えする。

すべてを削除する『rm -rf /』

システムを破壊するとして、最も有名なコマンドの1つが『rm -rf /』だ。このコマンドを実行するとファイルシステムの一番上から再帰的にすべてのファイルとディレクトリの削除が実行される。システムとして機能するために必要なファイルやデータを失い、システムはまともに動作しなくなる。

Ubuntu Server 18.04 LTSでこのコマンドを実行すると次のようになる。

  • Ubuntu Server 18.04 LTSでrm -rf /を実行

    Ubuntu Server 18.04 LTSでrm -rf /を実行

  • rm -rf --no-preserve-root /を実行する必要がある

    rm -rf --no-preserve-root /を実行する必要がある

「このコマンドを実行することは危険だ」というメッセージとともに、コマンドの実行が中断される。--no-preserve-rootというオプションを指定すれば強制的に実行できるとメッセージが表示されるので、『rm -rf --no-preserve-root /』と実行する。

実行中は削除できなかったファイルやディレクトリに関するエラーメッセージが延々と流れる。

  • 削除できなかった旨を伝えるエラーメッセージ

    削除できなかった旨を伝えるエラーメッセージ

  • rm -rf --no-preserve-root /の実行完了

    rm -rf --no-preserve-root /の実行完了

この状態をで操作を試みても、シェルはメモリ上で生きているもののコマンドが削除されてしまっているので、もうまともに操作できない。シェルの組み込みコマンドを使った操作で軽くパスとファイルを確認できる程度だ。shutdownコマンドも削除されているので、コマンドからシステムをシャットダウンしたり再起動することもできない。

  • もうまもとに動作しないUbuntu Server 18.04 LTS

    もうまもとに動作しないUbuntu Server 18.04 LTS

ハードウェアリセットをかけてシステムを再起動しようとしても、起動に必要なデータが見つからないとして、起動もできない。

  • 起動も不可能

    起動も不可能

システムを簡単に破壊することができることで知られている『rm -rf /』だが、実際にそうなった。間違ってもこのようにコマンドを実行してはならないようだ。