Anda memposting dalam komentar bahwa Anda bekerja pada sistem Mac OS X. Ini adalah petunjuk penting untuk tujuan ._*
file - file ini .
._*
Entri arsip ini adalah potongan dari data AppleDouble yang berisi informasi tambahan yang terkait dengan file yang sesuai (yang tanpa ._
awalan). Mereka dihasilkan oleh keluarga fungsi spesifik copyfile (3) Mac OS X. AppleDouble blob menyimpan data kontrol akses (ACL) dan atribut yang diperluas (umumnya, bendera Finder dan “fork resource”, tetapi xattrs dapat digunakan untuk menyimpan segala jenis data).
Alat arsip Mac OS X yang disediakan oleh sistem ( bsdtar
(juga dikaitkan sebagai tar
) gnutar
,, dan pax
) akan menghasilkan anggota ._*
arsip untuk file apa pun yang memiliki informasi tambahan yang terkait dengannya; dalam mode "unarchive", mereka juga akan men-decode anggota arsip tersebut dan menerapkan informasi tambahan yang dihasilkan ke file terkait. Ini menciptakan arsip "kesetiaan penuh" untuk digunakan pada sistem Mac OS X dengan menjaga dan kemudian mengekstrak semua informasi yang dapat disimpan oleh sistem file HFS +.
Alat arsip yang sesuai pada sistem lain tidak tahu untuk memberikan penanganan khusus untuk ._*
file - file ini , sehingga mereka dibongkar sebagai file normal. Karena file seperti itu tidak berguna pada sistem lain, mereka sering dilihat sebagai "file sampah". Sejalan dengan itu, jika sistem non-Mac OS X menghasilkan arsip yang menyertakan file normal yang dimulai dengan ._
, alat penguraian Mac OS X akan mencoba untuk memecahkan kode file-file itu sebagai informasi tambahan.
Namun, ada cara (?) Yang tidak berdokumen untuk membuat arsip Mac OS X yang disediakan sistem berperilaku seperti yang mereka lakukan pada sistem Unixy lainnya: variabel lingkungan COPYFILE_DISABLE. Mengatur variabel ini (ke nilai apa pun, bahkan string kosong), akan mencegah pengarsip dari menghasilkan ._*
anggota arsip untuk mewakili setiap informasi tambahan yang terkait dengan file yang diarsipkan. Kehadirannya juga akan mencegah para pengarsip untuk mencoba menafsirkan anggota arsip tersebut sebagai informasi tambahan.
COPYFILE_DISABLE=1 tar czf new.tar.gz …
COPYFILE_DISABLE=1 tar xzf unixy.tar.gz …
Anda dapat mengatur variabel ini dalam file inisialisasi shell Anda jika Anda ingin bekerja dengan cara ini lebih sering daripada tidak.
# disable special creation/extraction of ._* files by tar, etc. on Mac OS X
COPYFILE_DISABLE=1; export COPYFILE_DISABLE
Kemudian, ketika Anda perlu mengaktifkan kembali fitur (untuk menyimpan / mengembalikan informasi yang diperluas), Anda dapat "menghapus" variabel untuk perintah individual:
(unset COPYFILE_DISABLE; tar czf new-osx.tar.gz …)
Pengarsip pada Mac OS X 10.4 juga melakukan sesuatu yang serupa, meskipun mereka menggunakan variabel lingkungan yang berbeda: COPY_EXTENDED_ATTRIBUTES_DISABLE