マージしたいdebianの下に2つのUNIXパーティションがあります(ディスクスペースの問題:/)。それを行う最も簡単な方法は何でしょうか?あるパーティションから別のパーティションにファイルをtarまたはコピーし、一方を削除して、もう一方のサイズを変更するのが最善だと思います。partedを使用してサイズを変更しますが、ファイルをコピーするにはどうすればよいですか?変更せずに移動する必要があるリンク、権限、およびデバイスがあります。
2425 次
3 に答える
2
以下を (ルートとして) 実行して、ファイルをコピーできます。シンボリックリンク、デバイス、および通常のファイルで機能します。
cd /partition2
tar cf - . | ( cd /partition1 && tar xf - )
もう 1 つの方法は cpio を使用することですが、正しい構文を覚えていません。
于 2008-12-10T10:11:07.053 に答える
2
これは GNU fileutils を使用した Debian であるため、正常にcp --archive
動作するはずです。
cp --archive --sparse=always --verbose --one-file-system --target-directory=/TARGET /ORIGIN
何らかの理由で GNUを使用tar
したい場合は、次のようにする必要があります。
cd /origin
find . -xdev -depth -not -path ./lost+found -print0 \
| tar --create --atime-preserve=system --null --files-from=- \
--format=posix --no-recursion --sparse \
| { cd /target; tar --extract --overwrite --preserve-permissions --sparse; }
(私はこれを何度も行ったので、これらすべてのコマンド ラインを含むファイルを簡単に参照できるようにしました。)
警告: GNU " tar
" を使用すると、 POSIX ACL はコピーされません。cp --archive
上記の " " メソッドまたは " bsdtar "のいずれかを使用する必要があります。
mkdir /target
cd /origin
find . -xdev -depth -not -path ./lost+found -print0 \
| bsdtar -c -n --null -T - --format pax \
| { cd /target; bsdtar -x -pS -f -; }
于 2009-01-13T21:09:04.783 に答える
0
SquashFS を使用してパーティションのミラーを作成し、それをコピーすることもできます。2 番目のパーティションのサイズを変更したら、SquashFS イメージをマウントし、必要なファイルをコピーします。イメージをマウントするには、カーネルで SquashFS のサポートが必要になることに注意してください。
于 2008-12-10T10:17:13.467 に答える