UFS ファイル システムから FAT ファイル システムにデータをコピーする最もクリーンな方法は何ですか?

UFS ファイル システムから FAT ファイル システムにデータをコピーする最もクリーンな方法は何ですか?

FreeBSD 10.1 を実行している x86_64 マシンで、ファイルを untar すると、tar 内のすべてのファイルに対して以下のエラーが発生します。

x var/lib/nfs/statd/sm.bak/: Can't set user=1002/group=1002 for var/lib/nfs/statd/sm.bak
x var/lib/nfs/rmtab: Can't set user=1002/group=1002 for var/lib/nfs/rmtab
x var/lib/nfs/v4recovery/: Can't set user=1002/group=1002 for var/lib/nfs/v4recovery
x var/lib/logrotate.status: Can't set user=1002/group=1002 for var/lib/logrotate.status
x var/lib/arpd/: Can't set user=1002/group=1002 for var/lib/arpd
x var/lib/postfix/: Can't set user=1002/group=1002 for var/lib/postfix
x var/lib/systemd/: Can't set user=1002/group=1002 for var/lib/systemd
tar: Error exit delayed from previous errors.

上記のエラーは、mfdosfs パーティションでファイルを解凍した場合にのみ発生します。以下のコマンドを使用してパーティションをフォーマットし、msdosfs をマウントしています。

newfs_msdos   -F 32 -S 4096 -c 1 -m 0xf8 /dev/da0p7 
mount -t msdosfs -o large /dev/da0p7 /data/raw

次のようにマウントすることも試しました:

mount -t msdosfs -o large,uid=1002,gid=2002   /dev/da0p7 /data/raw

しかし、結果は同じでした。Tar ボールは、このマシンをデュアル ブートしたい Linux ディストリビューションなので、クリーンな unr-tar を探しています。上記の問題の修正方法を提案してくれる人はいますか?

編集 13/04/17: ファイル システムの違いにより、上記の動作が発生しているようです。上記のエラーが発生するだけでなく、シンボリック リンクを維持できないため、FAT32 パーティションから Linux を起動できません。この問題全体に有効な解決策があるかどうか疑問に思っています。

答え1

msdosfs/NTFS/FATファイルシステムは Linux/UNIX の所有権と権限属性をサポートしていません。

サポートされているファイル システムでパーティションをフォーマットするか、サポートされているファイル システムでイメージ ファイルを作成してファイルを保持する必要があります。

答え2

次のようにして、ファイルをホーム ディレクトリに解凍します。

tar -C /home/satpul -xzvf filename.txz

ユーザー名が satpul で、圧縮オプションが zip だったと仮定します。次の操作を実行します。

mv -vRf /home/satpul/extracted_files_dir/* /some/new/directory/on/samba/share

関連情報