状況
/etc配下のファイルをほとんど削除してしまった
経緯
研究室のサーバーを構築しLinuxについての理解が深くなった中で、色々とLinuxで遊んでいたところ、rootユーザーってめっちゃ便利やんと思いrootユーザーで色々システム作ったりして遊んでいたところ...
# /etc配下にて
rm -rf *
というコマンドを打ってしまった...
慌てて ctrl + C で中断したがほとんどが消えていた。
SambaやVNCサーバーはもちろん、rootユーザーでさえもログインできなくなっていた。
戻したいデータ
・/home 内の研究室メンバーが行ってきたシミュレーションデータ
・/var/lib/docker 内のWEBアプリのデータ
まずめっちゃ調べた
・打った瞬間は焦ってrootからログアウトし、一般ユーザーになっていた
・sshが再接続できるかどうか確認したかったので一度解除していた。(←もちろん出来ない)
調べると
プロセスIDが残っている場合戻せる可能性がある
という記事を見つけたが、その人は/etcや/usrを移動しただけっぽい?
rootなどもログアウトしているので可能性は低そうということでUbuntuの再インストール時のUbuntuを試すを利用する記事を見つけた。
これなら確かに自分も行けそう...
/etcしか削除してないわけだし、残っててほしいのは研究室の人のデータがある/home配下のデータ。
なので、USBに入れてあったUbuntuをBootの最上位に設定し再起動。
「Ubuntuを試す」を利用する
すると、USB内のUbuntuからHDD内の/etcが削除されたUbuntuのファイルシステムにアクセスできる。
そこから/homeや/var内の必要最低限のデータをUSB(自分はファイルサーバ)に入れればいい。
自分の場合は研究で使用しているシミュレーションデータが非常に大きいためzipで圧縮してから保存した。
Ubuntuのクリーンインストール
保存が完了したので、HDDのデータをすべて削除しUbuntuのインストールを実行。
Ubuntuインストール後にシミュレーションソフトとDockerをインストールし、zipファイルを解凍しあるべき場所に返した。
Dockerは心配だったが難しいのは権限の部分くらいだったかな。
あとは驚くぐらい元通り
振り返り
-
なにか他の手段があったのか気になる
-
研究室にPCが2台あり、リスクを分散させていたことやマジで消えたら困るファイルはGoogle DriveやUSBというように3重に保存していたので大丈夫だった。
-
あとは、自分が大学卒業したあとのことを考えて将来研究室に入ってくる人向けに作っておいた資料がとても役に立った。
-
本当にほしいデータは/home や /var に存在していたのでその点/etc で良かった。
-
rootで常に作業するのは危険!!!