gzip

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Gzip je aplikační software užívaný pro kompresi dat. Gzip je zkratka pro GNU zip; program je free software náhradou za kompresní program používaný již v raném Unixovém systému, určený pro projekt GNU.

Gzip byl vytvořen Jean-loup Gaillyem a Markem Adlerem. Verze 0.1 byla poprvé veřejně představena 31. října 1992. Verze 1.0 následovala v únoru 1993.

Souborový formát[editovat | editovat zdroj]

Gzip je založený na algoritmu DEFLATE, který je kombinací LZ77 a Huffmanova kódování. DEFLATE byl určený k nahrazení LZW a dalších patentem-zatížených algoritmů pro kompresi dat, který měl v té době omezenou použitelnost komprese a dalších populárních archivátorů.

“gzip” je často také užíván pro odkazování na gzip souborový formát, což je:

  • 10bajtová hlavička, obsahující magic number, číslo verze a datum poslední změny
  • nepovinné extra hlavičky, jako například originální jméno souboru
  • tělo obsahující DEFLATE-kompresi
  • 8bajtové zápatí, obsahující CRC-32 součet a délku originálních nekomprimovaných dat

Ačkoliv formát souboru také povoluje společné vícenásobné proudové kaskády (jsou jednoduše dekomprimovány, jako kdyby byly jeden), gzip je normálně používán ke kompresi jednotlivých souborů . Komprimované archivy jsou typicky tvořeny kompletací sbírek souborů do jednotlivých tar archivů a potom jsou komprimovány do archivu pomocí gzip. Nakonec soubory .tar.gz nebo .tgz jsou nazvány tarball.

Gzip si poradí i s formátem archivů ZIP , který také používá DEFLATE. Formát ZIP může držet sbírky souborů bez externího archivátoru, ale je to méně kompaktní než komprimované tarbally držící stejná data, protože komprimuje soubory individuálně a nemůže využít nadbytečnost mezi soubory (pevná komprese).

Zlib je DEFLATE algoritmus ve formě knihovny, která zahrnuje podporu formátu souboru gzip a lehkou kategorii formátu v jeho API. Proudový formát zlib, DEFLATE a formát souboru gzip byly standardizovány jako RFC 1950, RFC 1951 a RFC 1952.

Odpovídajíci program pro dekomprimaci za-gzipovaných souborů je gunzip. Oba příkazy ; gunzip a gzip -d vykonají stejnou práci.

Ostatní použití[editovat | editovat zdroj]

Protokol HTTP/1.1 povoluje klientům, aby volitelně žádali o kompresi obsahu ze serveru. Standardně sám specifikuje dvě kompresní metody: “gzip” (obsah zabalený v gzip proudu) a “deflate” (obsah v syrovém, bezhlavičkovém DEFLATE proudu). Oba jsou podporovány mnoha HTTP klientskými knihovnami a většinou moderních prohlížečů.

Od 90. let začíná získávat nad gzipem větší popularitu bzip2 souborová kompresní utilita založená na Burrows-Wheelerově transformaci. Ta produkuje značně menší soubory (zvláště pro zdrojový kód a další uspořádaný text), ale za cenu zvýšené spotřeby paměti a času na zpracování (až do faktoru 4). Soubory komprimované pomocí bzip2 mají standardně příponu .bz2, často se pak vyskytují v kombinaci s utilitou tar jako .tar.bz2.

AdvanceCOMP a 7-zip užívá implementaci DEFLATE, která produkuje gzip soubory kompatibilní s lepšími stupni komprese než gzip sám, za cenu větší spotřeby procesorového času.

Odkazy (EN)[editovat | editovat zdroj]

  • RFC 1952 - GZIP file format specification version 4.3

Externí odkazy (CZ)[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Gzip na anglické Wikipedii.