実現したいこと
先日、ホストのホームディレクトリにあるデフォルトのドットファイルを複数誤って削除(unlink)してしまいました。
『Linux で削除してしまったファイルやディレクトリを復元する』というブログ記事を見つけ、
extundeleteで復元できると分かりました。
削除してしまったドットファイル(ディレクトリも含む)を復元したいです。
前提・試していること
<試したこと>
extundeleteを使うにはMacOSだと必要なパッケージなどのインストールが現実的ではないと知り、
考えた方法としては、Dockcerを使うことです。
- centosのDockerfileを用意して、イメージを作成。
- Docker runでホストのディレクトリをマウント。
デフォルトのroot権限でcentosコンテナを起動。 - ブログ記事の手順で進めていく。
<試せていないこと>
無事復元できたら、
- マウントしたホストのディレクトリにそれらファイルをコンテナ側で移動する。
- コンテナを停止して、ホスト側でそれらファイルをマウントされたディレクトリから
ホームディレクトリ配下に戻せば、削除する前のドットファイルの状態に戻るはず。
この復元方法を試すために、
ブログ記事の『実行する』の手前まで進めました。
復元したいファイルがあった場所=ホストのホームディレクトリを対象のストレージとして、
そして最後、下記のコマンドを実行しました。
# /tmp/extundelete/bin/extundelete --after 1568991303 --restore-all ~/
するとエラーが発生しました。
発生している問題・エラーメッセージ
一部0で本来の番号を隠してます。
Only show and process deleted entries if they are deleted on or after 1568991303 and before 000000000000000000. /tmp/extundelete/bin/extundelete: "/root/" is a directory. You need to use the raw filesystem device (or a copy thereof). /tmp/extundelete/bin/extundelete: Operation not permitted when trying to open filesystem /root/
エラーについて分かったこと
このエラーについて調べましたが、ちょっと分かりませんでした。
疑問 分からないこと
そもそもコンテナ内からホストのホームディレクトリを、上記コマンドで復元したいストレージの対象とすることが可能なのか分かっていません。
もし宜しければ、可能なのかを教えてください。
また、エラーについて教えていただけると嬉しいです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。