A gzip egy számítógépes alkalmazás adatok tömörítésére és kibontására. A kifejezés legtöbbször a GNU Projekt implementációra utal, ahol a gzip a GNU zip rövidítése. Alapja a DEFLATE algoritmus, mely a Lempel-Ziv (LZ77) és a Huffman-kódolás kombinációja. A programot Jean-Loup Gailly és Mark Adler készítette, mint a korai Unix rendszereken használt compress algoritmus szabad szoftveres helyettesítése, a GNU projektben való használat céljára. A 0.1-es verziót nyilvánosan először 1992 október 30-án adták ki, míg az 1.0-sat 1993 februárjában.

A gzip OpenBSD verziója igazából a compress program, amelyhez a gzip formátum támogatását az OpenBSD 3.4-ben adták hozzá. A "g" ebben a verzióban a gratis-t jelöli.

A FreeBSD, a DragonFlyBSD és a NetBSD a GNU verzió egy BSD licencű implementációját használják; ez valójában a zlib parancssori interfésze, melynek célja a GNU implementációs lehetőségeivel való kompatibilitás.http://man.freebsd.org/gzip Ezek az implementációk eredetileg a NetBSD-ről érkeztek, támogatják a bzip2 kitömörítését és az Unix pack(1) formátumot.

A fájlformátum

A gzip alapja a DEFLATE algoritmus, mely az LZ77 és a Huffman-kódolás kombinációja. A DEFLATE célja az LZW és más szabadalommal védett adattömörítő eljárások helyettesítése volt, melyek akkor limitálták a compress és más népszerű archiválók használatát.

A "gzip" kifejezést gyakran használják a fájlformátumra is, amely: egy 10 bájtos fejrész (header), melyben van egy mágikus szám (magic number), egy verziószám és egy időbélyeg opcionális extra fejrészek, benne például az eredeti fájlnév, egy belső rész (body), benne egy DEFLATE-tel tömörített felhasználói adat (payload) egy 8 bájtos lábrész (footer), benne egy CRC-32 checksum és az eredeti tömörítetlen adat hossza

Habár az eredeti formátum engedélyezi több adat összefűzését (a zippelt fájlok kitömörítéskor ezen esetben úgy jelennek meg, mintha eredetileg egy fájlban lettek volna), a gzipet általánosságban csak egy fájlra használják. A tömörített archívumokat általánosságban a fájlokat egy tar archívumba fűzik össze, melyet aztán gzippel tömörítenek. A végső .tar.gz vagy .tgz fájlt általánosan "tarball"-nak hívják.

A gzip nem egyezik meg a zip fájlformátummal, mely szintén használja a DEFLATE-et. Egy ZIP formátumú fájl egyszerre több fájlt is tartalmazhat külön archiváló használata nélkül, ám kevésbé kompakt, mint az ugyanazon adatot tartalmazó tarball, mivel a fájlokat külön-külön tömöríti és ezáltal nem tudja kihasználni a fájlok közti esetleges redundanciát.

A Zlib egy elvonás a DEFLATE algoritmusból könyvtárformátumban, mely egyaránt tartalmazza a gzip fájlformátumot és egy kisméretű stream formátumot az API-jában. A zlib stream formátum, a DEFLATE és a gzip formátumokat sorban az RFC 1950, az RFC 1951, és az RFC 1952 írják le.

A gzippelt fájlok kitömörítésére szolgáló program a gunzip. Mindkét program egyazon binárist hívja meg, a gunzip ugyanazt a hatást éri el, mint a gzip -d.

A gunzip és a zcat A gzip eszköz az UNIX rendszereken több néven is fut.

Amikor a gzipre mint gunzip hivatkoznak, akkor az adatokat kitömöríti (egy fájlt vagy a standard bemenetet). A gunzip a gzip -d megfelelője.

Amikor a gzipre mint zcat hivatkoznak, szintén kitömöríti az adatot, ám a cat parancshoz hasonlóan viselkedik. Külön fájlokat tömörít ki és összefűzi őket a standard bemeneten.

A zcat a gzip -d -c megfelelője. zcat manual page in FreeBSD 7.0

Példák Egy fájl gzippel való tömörítésénél a fájlnevet kell paraméterként megadni:

gzip file.txt

A parancs az új fájlt egy kisebbel helyettesíti, általában file.txt.gz néven. Az eredeti file.txt megtartásához szükségeltetik a -c opció használata és az új fájl más névre való átirányítása. A jobb tömörítéshez a -9, míg a gyorsabbhoz a -1 opció használható.gzip dokumentáció (angolul)

A kitömörítéshez a gunzip használható gunzip:

gunzip file.txt.gz

Általánosságban több fájlt tömöríteni a tarballok segítségével lehet:

tar -czf files.tar.gz *.txt

Egyéb használat

A HTTP protokollban a Content-Encoding header használata lehetővé teszi a gzip formátumú tömörített adatátvitelt. Több HTTP-szerver támogatja a tartalom tömörítését, köztük az Apache Httpd és a Microsoft ISS is.

A böngészők között szintén elterjedt a gzip tömörítés támogatása. A Firefox, a Chrome, a Safari és az Opera is támogatja. Az Internet Explorer újabb verziói is adnak támogatást a gzip tömörítés használatára, bár a népszerű, Windows XP-vel szállított 6-os verzióban proxy használata esetén a támogatás hibás.

Jegyzetek

Fordítás

További információk GNU Gzip weboldal eredeti gzip weboldal pigz - Parallel gzip

Kategória:Tömörítés Kategória:Unix-parancsok Kategória:Tömörített fájlformátumok Kategória:Szoftverek Kategória:GNU projektek Kategória:Nyílt forrású szoftverek Kategória:Parancssori alkalmazások