破壊コマンド「sudo rm -rf /」

Linuxユーザーであれば一度は実行してみたくなるコマンド、「sudo rm -rf /」の話を聞いたことがあるんじゃないかと思う。これは、実行すると一発でシステムを破壊するコマンドだ。

現在主流のPC向け汎用OSには、基本的に「特権ユーザー」と「一般ユーザー」という2種類のユーザーが存在する。特権ユーザーは何でもできるため、特権ユーザー(root)で「sudo rm -rf /」というコマンドを実行すると、システムが動作するのに必要なファイルが次々と消えていき、システムはまともに動作しなくなる。

わざわざそんなことをする必要はないのだが、「Kali Linux」でいろいろ実験したりしていると、操作を誤ってシステムを破壊することもある。以下では、試しに「sudo rm -rf /」を実行してみた。

Kali Linuxでコマンド「sudo -rf /root /bin /etc」を実行

この状態でコンソールウインドウを終了し、再びKali Linuxを起動しようとしても、起動しない。

壊れてしまったKali Linux

システムを動作させるために必要なファイルが削除されているのだから当たり前なのだが、WSL(Windows Subsystem for Linux)であればこれを簡単に復帰させることが可能だ。

リセットで復活!

MicrosoftストアからインストールしたLinuxディストリビューションでは「リセット」の機能が提供されているため、インストール時に行った処理をもう一度実行して環境をインストール後の状態へ戻すことができる。

リセットの実行は設定から行う。設定から「アプリ」を選択し、「アプリと機能」から「Kali Linux」→「詳細オプション」を選択する。

「設定」→「アプリ」→「アプリと機能」→「Kali Linux」→「詳細オプション」を選択

開いたKali Linuxの「詳細オプション」で「リセット」ボタンをクリックすると、インストール時の作業がもう一度実行される。

「リセット」ボタンを押すことでインストール時の処理をやり直し

この状態でKali Linuxを起動すると、次のようにアカウントのユーザー名とパスワードを入力する処理が実行され、インストール直後の状態になる。

リセット後のKali Linux

リセットするとそれまでに作成していたデータなどは削除される。それが困るなら、作業する前にWindows側からデータのバックアップを取っておくのがお薦めだ。

ワンタッチ・リセット環境

このリセット機能はKali Linuxだけではなく、Ubuntu、openSUSE、SUSE Linux Enterprise Server、Debianにも用意されている。つまり、それらのディストリビューションではボタン1つでインストール後の状態に戻せるということだ。Dockerなどのコンテナ環境を使っているかのような手軽さで、環境をリセットする目的でも利用できる。

いろいろ操作をしていると、設定変更も増え、何がデフォルトの動作だったのかよくわからなくなることもある。リセット機能を利用すると簡単に初期状態に戻すことができるので、作業をやり直す場合にも便利だ。しかも複数のLinuxディストリビューションを簡単にインストールできるし、それらの間を行ったり来たりすることもできる。Windowsで利用可能なLinuxの世界は、ますます興味深いことになってきている。