ディレクトリを外付けハードドライブにコピーしようとしています。デバイスをインストールし、次のように入力しました。cd root tar -cf - * | (cd /mnt ; tar -xpf -)
次のエラー メッセージが表示されます。
ls
同じルートディレクトリ(まったく空ではない)で作業を実行すると、必要なすべてのファイルがそこにあります。
なぜこれが起こるのですか?
ベストアンサー1
ルートファイルシステムをコピーして特別なファイルやデバイスを心配する場合は、最良の方法は次のとおりです。
- まず、/proc、/dev、/sys、およびその他のマウントされたファイルシステムを心配する必要がないように、マウントのバインドオプションを使用して/をサブディレクトリにマウントします。
- 次に、cp -a や rsync -a などの特殊ファイルの処理方法を知るコマンドを使用します。
/mnt/external の下に外付けドライブをマウントしたとします。
mkdir /mnt/root
mount / /mnt/root -o bind
cp -a /mnt/root/* /mnt/external/
または
rsync -aP /mnt/root/ /mnt/external/
または(tarが本当に好きならどんなbtwが最悪の選択か)
tar -C /mnt/root -cf - ./ | tar -C /mnt/external -xpf -
詳細な出力を得るには、上記の項目に-vを追加してください。しかし、プロセスが遅くなります。