ตามคำตอบของคำถามอื่นคุณสามารถตั้งค่าตัวแปรสภาพแวดล้อมที่ไม่มีเอกสาร (?) COPYFILE_DISABLE เพื่อป้องกันไม่ให้โปรแกรมที่ระบบจัดหา (รวมถึงtar ) หลายโปรแกรมให้ความหมายพิเศษแก่._*
สมาชิกที่เก็บถาวร โดยเฉพาะอย่างยิ่งมันจะป้องกันพวกเขาจาก:
การจัดเก็บข้อมูลแอททริบิวต์แบบขยาย (รวมถึงส้อมทรัพยากร) ใน._*
สมาชิกไฟล์เก็บถาวร
(เช่นอย่าเก็บถาวร "มลพิษ" ที่สร้างขึ้นบน Mac OS X แต่มีไว้สำหรับใช้กับระบบอื่น) และ
พยายามที่จะดึงคุณสมบัติเพิ่มเติมหรือทรัพยากรจากสมาชิกที่เก็บถาวรชื่อเช่น._*
(เช่นอย่าตีความ._*
สมาชิกที่เก็บถาวรในที่เก็บจากระบบอื่น ๆ )
ค่าที่คุณใช้สำหรับตัวแปรสภาพแวดล้อมนั้นไม่สำคัญ (อาจเป็นสตริงว่างได้) ค่าชอบ0
และfalse
จะไม่เปิดใช้งานคุณลักษณะอีกครั้ง สิ่งเดียวที่สำคัญคือการตั้งค่าตัวแปร (คุณต้อง "ยกเลิกการตั้งค่า" เพื่อเปิดใช้งานคุณลักษณะอีกครั้ง)
คุณสามารถใช้ตัวแปรนี้กับแต่ละคำสั่งโดยใช้ประโยชน์จากความสามารถของเชลล์สไตล์ Bourne ( sh , ksh , bash , zsh , ฯลฯ ) เพื่อคำสั่ง prefix ด้วยตัวแปรสภาพแวดล้อมพิเศษ
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 ที่ทำงานในลักษณะเดียวกัน