Wenn ich auf einem x86_64-Rechner mit FreeBSD 10.1 eine Datei entpacke, erhalte ich für alle Dateien im Tar den folgenden Fehler:
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.
Der obige Fehler tritt nur auf, wenn ich die Datei in der MFDOFS-Partition entpacke. Ich verwende den folgenden Befehl, um die Partition zu formatieren und MSDOFS zu mounten.
newfs_msdos -F 32 -S 4096 -c 1 -m 0xf8 /dev/da0p7
mount -t msdosfs -o large /dev/da0p7 /data/raw
Ich habe auch versucht, die Montage wie folgt durchzuführen:
mount -t msdosfs -o large,uid=1002,gid=2002 /dev/da0p7 /data/raw
Aber ich habe dasselbe Ergebnis. Tarball ist eine Linux-Distribution, von der ich diese Maschine per Dual-Boot booten möchte, also suche ich nach einer sauberen Untarierung. Kann jemand eine Lösung für das obige Problem vorschlagen?
BEARBEITEN 13.04.17: Es scheint, dass ich das obige Verhalten aufgrund unterschiedlicher Dateisysteme beobachte. Ich erhalte nicht nur den oben genannten Fehler, sondern kann auch den symbolischen Link nicht aufrechterhalten, weshalb ich Linux nicht von der FAT32-Partition booten kann. Ich frage mich, ob es eine funktionierende Lösung für das ganze Problem gibt.
Antwort1
msdosfs/NTFS/FAT
Dateisysteme unterstützen keine Linux-/Unix-Eigentums- und Berechtigungsattribute.
Sie müssen entweder die Partition mit einem unterstützten Dateisystem formatieren oder eine Image-Datei mit einem unterstützten Dateisystem erstellen, um die Dateien zu speichern.
Antwort2
Entpacken Sie Ihre Datei wie folgt in Ihr Home-Verzeichnis:
tar -C /home/satpul -xzvf filename.txz
Angenommen, Ihr Benutzername ist satpul und zip war die Komprimierungsoption. Gehen Sie dann wie folgt vor:
mv -vRf /home/satpul/extracted_files_dir/* /some/new/directory/on/samba/share