Vorrei solo sapere perché se "tar -czf" un file / directory, osx aggiunge un: ._ per ogni file? Vedo questi quando scompare in Linux. O quando lavoro con il progetto non compresso in eclissi in quanto non gli piacciono affatto. Uso 10.7.5.
Vorrei solo sapere perché se "tar -czf" un file / directory, osx aggiunge un: ._ per ogni file? Vedo questi quando scompare in Linux. O quando lavoro con il progetto non compresso in eclissi in quanto non gli piacciono affatto. Uso 10.7.5.
Risposte:
Il tar di OS X utilizza il formato AppleDouble per memorizzare attributi e ACL estesi. tar e Archive Utility sanno anche come riconvertire i file ._ nei formati nativi, ma i file ._ vengono mantenuti se l'archivio viene estratto su un'altra piattaforma o su un volume non HFS.
Di solito puoi semplicemente dire a tar di rimuovere i metadati impostando COPYFILE_DISABLE su un valore:
$ xattr -l file.jpg
com.apple.quarantine: 0002;50d20c48;Tweetbot;
$ tar -cf 1.tar file.jpg
$ tar -tf 1.tar
./._file.jpg
file.jpg
$ COPYFILE_DISABLE=1 tar -cf 2.tar file.jpg
$ tar -tf 2.tar
file.jpg
Informazioni archiviate come attributi estesi:
Puoi vedere gli ACL con ls -le
:
$ ls -led /Applications/
drwxrwxr-x@ 146 root admin 4964 Jun 17 22:53 /Applications/
0: group:everyone deny delete
--disable-copyfile
Quei file erano sempre lì, ma sono invisibili in Finder (e nella maggior parte delle applicazioni Mac OS). Vedi /superuser/212896/
modificare
Cioè: questi file contengono gli attributi di file estesi ... en.wikipedia.org/wiki/Extended_file_attributes ... e sono stati creati non appena MacOS ha dato gli attributi estesi ai file. Quindi questi file ._ * non sono stati creati per l'archivio tar.