Utilitas tar yang berbeda berperilaku berbeda dalam hal ini, jadi ada baiknya berhati-hati. Untuk file tar yang tidak Anda buat, selalu daftarkan daftar isi sebelum mengekstraknya.
Solaris tar :
File-file yang disebutkan diekstraksi dari tarfile dan ditulis ke direktori yang ditentukan dalam tarfile, relatif terhadap direktori saat ini. Gunakan nama path relatif file dan direktori untuk diekstraksi.
Nama path absolut yang terkandung dalam arsip tar dibongkar menggunakan nama path absolut, yaitu, garis miring ke depan (/) tidak ditanggalkan.
Dalam kasus file tar dengan nama path lengkap (absolut), seperti:
/tmp/real-file
/etc/sneaky-file-here
... jika Anda mengekstrak file seperti itu, Anda akan berakhir dengan kedua file tersebut.
GNU tar :
Secara default, GNU tar menjatuhkan yang terdepan /
pada input atau output, dan mengeluh tentang nama file yang mengandung ..
komponen. Ada opsi yang mematikan perilaku ini:
--absolute-names
-P
Jangan menghapus garis miring dari nama file, dan mengizinkan nama file yang mengandung ..
komponen nama file.
... jika Anda mengekstrak file tar sepenuhnya-pathed menggunakan GNU tar tanpa menggunakan -P
opsi, itu akan memberi tahu Anda:
tar: Menghapus terkemuka /
dari nama anggota
dan akan mengekstrak file ke dalam subdirektori dari direktori Anda saat ini.
Tar AIX :
mengatakan apa-apa tentang itu, dan berperilaku sebagai tar Solaris - itu akan membuat dan mengekstrak file tar dengan nama path lengkap / absolut.
Tar HP-UX :
(referensi online yang lebih baik disambut)
PERINGATAN
Tidak ada cara untuk mengembalikan nama jalur absolut ke posisi relatif.
Tar OpenBSD :
-P
Jangan menghapus garis miring ( /
) dari nama path. Standarnya adalah untuk menghapus garis miring.
Ada -P
opsi yang diterapkan untuk tar
pada macOS, FreeBSD dan NetBSD juga, dengan semantik yang sama, dengan tambahan bahwa tar
pada FreeBSD dan macOS akan "menolak untuk mengekstraksi entri arsip yang berisi nama pathnya ..
atau yang direktori targetnya akan diubah oleh symlink" tanpa -P
.
bintang schilytools :
-/
Jangan menghapus garis miring dari nama file saat mengekstraksi arsip. Arsip tar yang berisi nama path absolut biasanya merupakan ide yang buruk. Dengan implementasi tar lain, mereka mungkin tidak pernah dapat diekstraksi tanpa merusak file yang ada. Kilaukan bintang karena alasan itu, secara default, akan menebas garis miring dari nama file saat dalam mode ekstrak.
-P
opsi yang memengaruhi perilakunya dalam hal ini.