gzip/.gz

gzip adalah format file dan aplikasi perangkat lunak yang digunakan untuk kompresi dan dekompresi file. Program ini dibuat oleh Jean-loup Gailly dan Mark Adler sebagai pengganti perangkat lunak gratis untuk program kompres yang digunakan pada sistem Unix awal, dan ditujukan untuk digunakan oleh GNU (dari mana “g” berasal dari gzip). Versi 0.1 pertama kali dirilis ke publik pada 31 Oktober 1992, dan versi 1.0 menyusul pada Februari 1993.

Dekompresi format gzip dapat diimplementasikan sebagai algoritme streaming, fitur penting untuk protokol Web, pertukaran data, dan aplikasi ETL (dalam pipa standar).

gzip didasarkan pada algoritma DEFLATE, yang merupakan kombinasi dari pengkodean LZ77 dan Huffman. DEFLATE dimaksudkan sebagai pengganti LZW dan algoritme kompresi data yang dibebani paten lainnya yang, pada saat itu, membatasi kegunaan kompres dan pengarsipan populer lainnya.

“gzip” sering juga digunakan untuk merujuk pada format file gzip, yaitu:

header 10-byte, berisi angka ajaib (1f 8b), metode kompresi (08 untuk DEFLATE), flag header 1-byte, stempel waktu 4-byte, flag kompresi, dan ID sistem operasi.
header tambahan opsional sebagaimana diizinkan oleh flag header, termasuk nama file asli, kolom komentar, kolom “ekstra”, dan bagian bawah checksum CRC-32 untuk bagian header.[3] tubuh, berisi muatan terkompresi DEFLATE
trailer 8-byte, berisi checksum CRC-32 dan panjang data asli yang tidak terkompresi, modulo 232.
Targzip.svg
Meskipun format filenya juga memungkinkan beberapa aliran untuk digabungkan (file yang di-gzip hanya didekompresi jika digabungkan seolah-olah awalnya adalah satu file),[5] gzip biasanya digunakan untuk mengompresi file tunggal saja. Arsip terkompresi biasanya dibuat dengan mengumpulkan kumpulan file ke dalam satu arsip tar (juga disebut tarball), dan kemudian mengompresi arsip tersebut dengan gzip. File terkompresi terakhir biasanya memiliki ekstensi .tar.gz atau .tgz.

gzip berbeda dengan format arsip ZIP, yang juga menggunakan DEFLATE. Format ZIP dapat menampung koleksi file tanpa pengarsipan eksternal, tetapi kurang kompak dibandingkan tarbal terkompresi yang menyimpan data yang sama, karena format ini memampatkan file satu per satu dan tidak dapat memanfaatkan redundansi antar file (kompresi padat).

Implementasi
Berbagai implementasi program telah ditulis. Yang paling umum dikenal adalah implementasi Proyek GNU menggunakan

Pengkodean Lempel-Ziv (LZ77). Versi gzip OpenBSD sebenarnya adalah program kompres , yang mendukung format gzip ditambahkan di OpenBSD 3.4. Huruf ‘g’ dalam versi khusus ini adalah singkatan dari FreeBSD gratis, DragonFly BSD dan NetBSD menggunakan implementasi berlisensi BSD, bukan versi GNU; ini sebenarnya adalah antarmuka baris perintah untuk zlib yang dimaksudkan agar kompatibel dengan opsi implementasi GNU. Implementasi ini awalnya berasal dari NetBSD, dan mendukung dekompresi bzip2 dan format paket Unix.

Program kompresi alternatif yang mencapai kompresi 3-8% lebih baik adalah Zopfli. Ini mencapai kompresi yang kompatibel dengan gzip menggunakan algoritme yang lebih lengkap, dengan mengorbankan waktu kompresi yang diperlukan. Itu tidak mempengaruhi waktu dekompresi.

pigz, ditulis oleh Mark Adler, kompatibel dengan gzip dan mempercepat kompresi dengan menggunakan semua core dan thread CPU yang tersedia.

Pemulihan kerusakan
Data dalam blok sebelum bagian arsip pertama yang rusak biasanya dapat dibaca sepenuhnya. Data dari blok yang tidak dihancurkan oleh kerusakan yang terletak setelahnya dapat dipulihkan melalui solusi yang sulit

Derivatif dan kegunaan lainnya
Utilitas tar yang disertakan di sebagian besar distribusi Linux dapat mengekstrak file .tar.gz dengan meneruskan opsi z, misalnya, tar -zxf file.tar.gz, di mana -z menginstruksikan dekompresi, -x berarti ekstraksi, dan -f menentukan nama file arsip terkompresi untuk diekstraksi. Opsional, -v (verbose) mencantumkan file saat sedang diekstrak.[

zlib adalah abstraksi dari algoritma DEFLATE dalam bentuk pustaka yang menyertakan dukungan untuk format file gzip dan format aliran data ringan di API-nya. Format aliran zlib, DEFLATE, dan format file gzip masing-masing distandarisasi sebagai RFC 1950, RFC 1951, dan RFC 1952.

Format gzip digunakan dalam kompresi HTTP, sebuah teknik yang digunakan untuk mempercepat pengiriman HTML dan konten lainnya di World Wide Web. Ini adalah salah satu dari tiga format standar untuk kompresi HTTP sebagaimana ditentukan dalam RFC 2616. RFC ini juga menentukan format zlib (disebut “DEFLATE”), yang sama dengan format gzip kecuali bahwa gzip menambahkan sebelas byte overhead dalam bentuk header dan trailer. Namun, format gzip terkadang direkomendasikan daripada zlib karena Internet Explorer tidak mengimplementasikan standar dengan benar dan tidak dapat menangani format zlib seperti yang ditentukan dalam RFC 1950.

zlib DEFLATE digunakan secara internal dengan format Portable Network Graphics (PNG).

Sejak akhir 1990-an, bzip2, utilitas kompresi file berdasarkan algoritme pengurutan blok, telah mendapatkan popularitas sebagai pengganti gzip. Ini menghasilkan file yang jauh lebih kecil (terutama untuk kode sumber dan teks terstruktur lainnya), tetapi dengan biaya memori dan waktu pemrosesan (hingga faktor 4)

AdvanceCOMP dan 7-Zip dapat menghasilkan file yang kompatibel dengan gzip, menggunakan implementasi DEFLATE internal dengan rasio kompresi yang lebih baik daripada gzip itu sendiri—dengan biaya waktu prosesor yang lebih banyak dibandingkan dengan implementasi referensi.

 

This entry was posted in . Bookmark the permalink.

SIGN UP FOR NEWSLETTER

Signup for our newsletter to get notified about news and new products.