Başına Başka bir soruya bir cevap , siz (dahil sistem tarafından sağlanan programların birkaç önlemek için belgesiz (?) Ortam değişkeni COPYFILE_DISABLE ayarlayabilirsiniz katran için özel bir anlam vermekten) ._*
arşiv üyeleri. Özellikle, onları önleyecektir:
genişletilmiş öznitelik verilerinin (kaynak çatalları dahil) ._*
arşiv üyelerine depolanması
(yani Mac OS X'te oluşturulan arşivleri “kirletmemesi” ancak diğer sistemlerde kullanılması amaçlanmıştır) ve
gibi adlandırılmış arşiv üyelerinden genişletilmiş öznitelikler veya kaynaklar çıkarmaya çalışmak ._*
(yani, ._*
arşivdeki diğer üyelerdeki arşiv üyelerini yanlış yorumlamayın ).
Ortam değişkeni için kullandığınız değer önemli değildir (boş dize bile olabilir). Değer gibi 0
ve false
özelliği yeniden etkinleştirilemez. Önemli olan tek şey, değişkenin ayarlanmış olup olmadığıdır (özelliği yeniden etkinleştirmek için onu “kaldırmanız gerekir”).
Bourne tarzı mermilerin ( sh , ksh , bash , zsh , vb.) Ekstra ortam değişkenleri ile komut önekleme kabiliyetinden yararlanarak bu değişkeni tek tek komutlarda kullanabilirsiniz .
COPYFILE_DISABLE=1 tar cf new.tar …
Sorunla değil, sık sık karşılaşırsanız, bu değişkeni kabuğunuzun başlangıç dosyalarından birinde ayarlamak ve vermek isteyebilirsiniz.
# turn off special handling of ._* files in tar, etc.
COPYFILE_DISABLE=1; export COPYFILE_DISABLE
İhtiyacınız olduğunda, bireysel komutlar için değişkeni kaldırabilirsiniz.
(unset COPYFILE_DISABLE; tar cf somefile.tar …)
Bu Mac OS X 10.6 sisteminde, aşağıdaki komutların tümü COPYFILE_DISABLE hakkında biliyor gibi görünüyor:
/usr/bin/tar
(sembolik bir bağlantı bsdtar
)
/usr/bin/bsdtar
/usr/bin/gnutar
/bin/pax
Mac OS X 10.5 kaynaklı COPYFILE_DISABLE. 10.4'ü desteklemeniz gerekiyorsa, aynı şekilde çalışan COPY_EXTENDED_ATTRIBUTES_DISABLE vardır.