Я просто хотел бы знать, почему, если я "tar -czf" файл/каталог, osx добавляет: ._ для каждого файла? Я вижу это, когда распаковываю в Linux. Или когда я работаю с несжатым проектом в eclipse, так как он их вообще не любит. Я использую 10.7.5.
Смолка OS X использует формат AppleDouble для хранения расширенных атрибутов и ACL. tar и утилита архивирования также знают, как преобразовать файлы ._ обратно в собственные форматы, но файлы ._ сохраняются, если архив извлекается на другой платформе или на томе, отличном от HFS.
Обычно вы можете просто сказать tar удалить метаданные, установив COPYFILE_DISABLE в какое-то значение:
$ 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
Информация, хранящаяся в виде расширенных атрибутов:
Вы можете увидеть ACL с ls -le
:
$ ls -led /Applications/
drwxrwxr-x@ 146 root admin 4964 Jun 17 22:53 /Applications/
0: group:everyone deny delete
Эти файлы всегда были там, но они невидимы в Finder (и в большинстве приложений Mac OS). См. https://superuser.com/questions/212896/
редактировать
То есть: эти файлы содержат расширенные атрибуты файла ... en.wikipedia.org/wiki/Extended_file_attributes ... и они были созданы, как только MacOS предоставила расширенные атрибуты файлам. Таким образом, эти файлы ._* не были созданы для tar-архива.
СтасМ
Грэм Перрин
--disable-copyfile