どちらの方法を使うにせよ、まず最初に削除したファイルが入っているファイル システムのマウントを解除する必要があります。ここで慌てると、ファイルシステム をめちゃめちゃにしてしまう可能性があるので注意してください。 この作業は、ファイルを削除してしまったことに気が付いた時点で 出来る限りすばやく 行わなければなりません。マウント解除が早ければ 早いほど、データが上書きされる可能性も少なくなります。
最も簡単な方法は、次のようなものです。ここでは、削除したファイルが /usr にあるものと仮定しています。
# umount /usr |
しかし、/usr 以下に置かれているものが使えなくなる のは困るかもしれません。その場合、read-only で再マウントします。
# mount -o ro,remount /usr |
削除したファイルがルートパーティション上にある場合は、-n オプションを付けて、/etc/mtab ファイルへの書き込みを 避ける必要があります。
# mount -n -o ro,remount / |
どの方法でマウント解除するかに関わりなく、他のプロセスが当該のファイルシステム を使っている可能性もあります (その場合、マウント解除は失敗し、 "Resource busy" のエラーが表示されます)。こういう時のために、特定のファイル やマウントポイントを使っているプロセスに対してシグナルを送るプログラムが 存在します。fuser です。これを /usr パーティションに対して使ってみましょう。
# fuser -v -m /usr |
上記コマンドによって、対象となるプロセスが列記されます。重要なプロセスが 存在しないことが確認できたら、次のコマンドを実行します。
# fuser -k -v -m /usr |
こうすると個々のプロセスに SIGKILL シグナルを送ります (これはプロセスを確実に殺すシグナルです)。あるいは、次のように しても結構です。
# fuser -k -TERM -v -m /usr |
これは個々のプロセスに SIGTERM シグナルを送ります (これはプロセスを正常に終了させるシグナルです)。