Sayangnya, untuk membongkar satu anggota .tar.gz
arsip Anda harus memproses seluruh arsip, dan tidak banyak yang dapat Anda lakukan untuk memperbaikinya.
Di sinilah .zip
(dan beberapa format lain seperti .rar
) arsip bekerja lebih baik, karena zip
format memiliki direktori pusat semua file yang terkandung di dalamnya dengan offset langsung yang menunjuk ke tengah zip
file, sehingga anggota arsip dapat dengan cepat diekstraksi tanpa memproses semuanya.
Anda mungkin bertanya mengapa pemrosesan .tar.gz
sangat lambat?
.tar.gz
(sering disingkat .tgz
) hanya .tar
arsip yang dikompres dengan gzip
kompresor. gzip
adalah streaming kompresor yang hanya dapat bekerja dengan satu file. Jika Anda ingin mendapatkan bagian dari gzip
aliran, Anda harus membuka kompresi itu secara keseluruhan, dan inilah yang benar-benar membunuhnya untuk .tar.gz
(dan untuk .tar.bz2
, .tar.xz
dan format serupa lainnya berdasarkan .tar
).
.tar
format sebenarnya sangat, sangat sederhana. Ini hanya aliran file 512-byte atau header direktori (nama, ukuran, dll), masing-masing diikuti oleh isi file atau direktori (diisi dengan ukuran blok 512 dengan 0 byte jika perlu). Ketika Anda mengamati benar-benar nol blok 512 untuk header, ini berarti akhir .tar
arsip.
Beberapa orang berpikir bahwa bahkan .tar
anggota arsip tidak dapat diakses dengan cepat, tetapi ini tidak sepenuhnya benar. Jika .tar
arsip berisi beberapa file besar, Anda sebenarnya dapat dengan cepat mencari ke tajuk berikutnya, dan dengan demikian Anda dapat menemukan anggota arsip yang diperlukan dalam beberapa upaya (tetapi masih dapat meminta sebanyak yang dicari karena ada anggota arsip). Jika .tar
arsip Anda berisi banyak file kecil, ini berarti pengambilan anggota dengan cepat menjadi tidak mungkin bahkan untuk yang tidak terkompresi .tar
.