將資料從 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

相關內容