Per jawaban atas pertanyaan lain , Anda dapat mengatur variabel lingkungan tidak terdokumentasi (?) COPYFILE_DISABLE untuk mencegah beberapa program yang disediakan sistem (termasuk tar ) memberi makna khusus kepada ._*
anggota arsip. Secara khusus, itu akan mencegah mereka dari:
menyimpan data atribut yang diperluas (termasuk garpu sumber daya) di ._*
anggota arsip
(yaitu jangan "mencemari" arsip yang dibuat pada Mac OS X tetapi dimaksudkan untuk digunakan pada sistem lain), dan
mencoba untuk mengekstraksi atribut atau sumber daya yang diperluas dari anggota arsip bernama seperti ._*
(yaitu jangan salah mengartikan ._*
anggota arsip dalam arsip dari sistem lain).
Nilai yang Anda gunakan untuk variabel lingkungan tidak penting (bahkan bisa berupa string kosong). Nilai suka 0
, dan false
tidak akan mengaktifkan kembali fitur. Satu-satunya hal yang penting adalah apakah variabel diatur (Anda harus "membatalkan" untuk mengaktifkan kembali fitur).
Anda dapat menggunakan variabel ini pada perintah individual dengan memanfaatkan kemampuan shell Bourne-style ( sh , ksh , bash , zsh , dll.) Untuk mengawali perintah dengan variabel lingkungan tambahan.
COPYFILE_DISABLE=1 tar cf new.tar …
Jika Anda mengalami masalah lebih sering daripada tidak, maka Anda mungkin ingin mengatur dan mengekspor variabel ini di salah satu file inisialisasi shell Anda.
# turn off special handling of ._* files in tar, etc.
COPYFILE_DISABLE=1; export COPYFILE_DISABLE
Jika perlu, Anda dapat menghapus variabel untuk setiap perintah.
(unset COPYFILE_DISABLE; tar cf somefile.tar …)
Pada sistem Mac OS X 10.6 ini, semua perintah berikut sepertinya tahu tentang COPYFILE_DISABLE:
/usr/bin/tar
(tautan simbolis ke bsdtar
)
/usr/bin/bsdtar
/usr/bin/gnutar
/bin/pax
COPYFILE_DISABLE berasal dari Mac OS X 10.5. Jika Anda perlu mendukung 10.4, ada COPY_EXTENDED_ATTRIBUTES_DISABLE yang berfungsi dengan cara yang sama.