За відповідь на інше питання , ви можете встановити без документів (?) Змінна оточення COPYFILE_DISABLE , щоб запобігти кілька системних поставляються програми (включаючи смоли ) від надання особливого сенсу в ._*
архів членів. Зокрема, це заважатиме їм:
зберігання розширених даних атрибутів (включаючи вилки ресурсів) в ._*
архівах
(тобто не "забруднюють" архіви, створені на Mac OS X, але призначені для використання в інших системах), і
спроба витягнути розширені атрибути або ресурси з членів архіву, названих типу ._*
(наприклад, не трактуйте неправильно ._*
членів архіву в архівах з інших систем).
Значення, яке ви використовуєте для змінної середовища, не є важливим (це може бути навіть порожній рядок). Ці значення подобаються 0
, і false
вони не зможуть повторно відредагувати функцію. Єдине, що важливо, чи встановлена змінна (вам потрібно "зняти її", щоб повторно ввімкнути функцію).
Ви можете використовувати цю змінну для окремих команд, скориставшись можливістю оболонок у стилі Борна ( sh , ksh , bash , zsh тощо) для префіксації команд із додатковими змінними середовища.
COPYFILE_DISABLE=1 tar cf new.tar …
Якщо ви стикаєтеся з проблемою частіше, ніж вам потрібно, ви можете встановити та експортувати цю змінну в один із файлів ініціалізації вашої оболонки.
# turn off special handling of ._* files in tar, etc.
COPYFILE_DISABLE=1; export COPYFILE_DISABLE
Після цього ви можете вимкнути змінну для окремих команд.
(unset COPYFILE_DISABLE; tar cf somefile.tar …)
У цій Mac OS X 10.6 системі, схоже, відомо про COPYFILE_DISABLE:
/usr/bin/tar
(символічне посилання на bsdtar
)
/usr/bin/bsdtar
/usr/bin/gnutar
/bin/pax
COPYFILE_DISABLE бере початок у Mac OS X 10.5. Якщо вам потрібно підтримати 10.4, він має COPY_EXTENDED_ATTRIBUTES_DISABLE, який працює таким же чином.