将数据从 UFS 文件系统复制到 FAT 文件系统的最简洁方法?

将数据从 UFS 文件系统复制到 FAT 文件系统的最简洁方法?

在运行 FreeBSD 10.1 的 x86_64 机器上,当我解压文件时,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 ball 是 Linux 发行版,我希望这台机器能够进行双重启动,因此需要寻找干净的解皮工具。有人可以建议解决上述问题吗?

编辑 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

相关内容