Za odpowiedź na inne pytanie , można ustawić nieudokumentowanych (?) Zmienną środowiskową COPYFILE_DISABLE aby zapobiec kilka programów systemowych dostarczone (w tym smoły ) od wydawania specjalnego znaczenia do ._*archiwalnych członków. W szczególności zapobiegnie to:
przechowywanie rozszerzonych danych atrybutów (w tym rozwidleń zasobów) w ._*elementach archiwów
(tj. nie „zanieczyszcza” ”archiwów utworzonych w Mac OS X, ale przeznaczonych do użycia w innych systemach), oraz
próba wyodrębnienia rozszerzonych atrybutów lub zasobów z elementów archiwalnych o nazwach podobnych ._*
(tj. nie należy źle interpretować ._*elementów archiwalnych w archiwach z innych systemów).
Wartość używana dla zmiennej środowiskowej nie jest ważna (może to być nawet pusty ciąg). Wartości takie jak 0i falsenie włączają ponownie tej funkcji. Liczy się tylko to, czy zmienna jest ustawiona (musisz ją „rozbroić”, aby włączyć tę funkcję).
Tej zmiennej można użyć do poszczególnych poleceń, korzystając z możliwości powłok typu Bourne'a ( sh , ksh , bash , zsh itp.), Aby poprzedzać polecenia dodatkowymi zmiennymi środowiskowymi.
COPYFILE_DISABLE=1 tar cf new.tar …
Jeśli często napotykasz problem, możesz chcieć ustawić i wyeksportować tę zmienną do jednego z plików inicjujących powłokę.
# turn off special handling of ._* files in tar, etc.
COPYFILE_DISABLE=1; export COPYFILE_DISABLE
W razie potrzeby możesz rozbroić zmienną dla poszczególnych poleceń.
(unset COPYFILE_DISABLE; tar cf somefile.tar …)
W tym systemie Mac OS X 10.6 wszystkie poniższe polecenia wydają się wiedzieć o COPYFILE_DISABLE:
/usr/bin/tar(symboliczny link do bsdtar)
/usr/bin/bsdtar
/usr/bin/gnutar
/bin/pax
COPYFILE_DISABLE pochodzi z Mac OS X 10.5. Jeśli potrzebujesz obsługiwać 10.4, ma COPY_EXTENDED_ATTRIBUTES_DISABLE, który działa w ten sam sposób.