GZIP-arkisto (.gz)
IETF StandardiGzip (GZ) on GNU-projektin vakiopakkaustyökalu ja tiedostomuoto, jota käytetään laajasti Unix-käyttöjärjestelmissä ja internetin HTTP-palvelimilla nopeaan tiedostojen ja verkkoresurssien pakkaukseen.
Muunna tiedostot muodosta TAR muotoon GZ
Ilmainen selaimen sisäinen TAR - GZ-muunnin. Muunna tiedostoja välittömästi laitteellasi.
Tarkastele ja metatiedot
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat GZ-tiedostot tarkistamalla tiedoston alun binäärisarjan:
Tavutason otsikon allekirjoitus (Magic Bytes)
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat GZ-tiedostot tarkistamalla tiedoston alun binäärisarjan:
HEX-ALLEKIRJOITUS (OFFSET 0):
1F 8B 08ASCII-ESITYSTAPA: ..\x08
Standardointi: IETF RFC 1952
Tekniset tiedot
| Säiliöarkkitehtuuri | 10-byte header (magic 0x1F 0x8B, method 8, flags, mtime, OS) followed by DEFLATE stream and 8-byte footer |
| Pakkaus | DEFLATE algorithm (LZ77 sliding window + Huffman coding) |
| Tavujärjestys (Endianness) | Little-Endian header and footer integers |
| Väriavaruudet | N/A (Archive Container) |
| Kanavat ja rakenne | Single-file compressed byte stream |
| Suurimmat mitat | Uncompressed size recorded modulo 2^32 (supports unbounded stream lengths) |
| Läpinäkyvyys | 100% bit-exact lossless data preservation |
| Suoratoisto ja progressiivinen lataus | Sequential single-pass streaming playback over pipes and HTTP networks |
Tekninen vertailumatriisi: GZ vs. kilpailijat
| Tekninen attribuutti | GZ (Nykyinen) | BZ2 | BROTLI | ZSTD |
|---|---|---|---|---|
| Purkunopeus | Nopea (~300 Mt/s) | Hidas (~40 Mt/s) | Erittäin nopea (~400 Mt/s) | Äärimmäisen nopea (>1,5 Gt/s) |
| Yleinen verkkotuki | 100 % kaikista selaimista ja palvelimista | Ei verkkoselaintukea | Tuettu HTTPS:n kautta kaikissa selaimissa | Kasvava selain- ja palvelintuki |
| Monitiedostopaketointi | Vaatii TAR-säilön (.tar.gz) | Vaatii TAR-säilön (.tar.bz2) | Raakavirta tai mukautettu säilö | Vaatii TAR-säilön (.tar.zst) |
| Tarkistussumman varmennus | 32-bittinen CRC (CRC-32) | Lohkokohtainen 32-bittinen CRC | Ei sisäänrakennettua virrassa | 64-bittinen xxHash |
Yleiset korruptiotilat ja heksatietojehdotusopas
Purkuvirhe: 'gzip: stdin: unexpected end of file'.
Perussyy: Ennenaikainen tiedonsiirron keskeytys, joka katkaisee DEFLATE-virran tai 8-tavuisen CRC32-alatunnisteen.
Korjaus: Purka osittainen sisältö komennolla 'gzip -d --keep broken.gz' tai File2File Gzip Extractorilla.
Turvallisuusanalyysi ja jäsenninhyökkäysvektorit
Gzip-jäsennin käsittelee käyttäjän ohjaamia otsikoita ja DEFLATE-bittivirtoja, jotka on suojattava purkupommilta.
Tunnetut hyökkäysvektorit
- Purkupommi (zip-pommi), joka laajentaa megatavut Gzip-dataa sadoiksi gigatavuiksi levytilaa.
- Puskurin ylivuoto luettaessa valinnaista alkuperäisen tiedostonimen merkkijonoa otsikosta.
- Kokonaisluvun ylivuoto 32-bittisen CRC-tarkistuksen vertailun aikana.
Parhaat puolustuskäytännöt:
Historia ja virstanpylväät
Tärkeimmät edut
- Internetin HTTP-pakkauksen yleinen vertailukohta ('Content-Encoding: gzip'), jota tukevat 100 % verkkoselaimista.
- Säilyttää alkuperäiset tiedoston muokkausaikaleimat ja valinnaiset alkuperäiset tiedostonimet 10-tavuisessa otsikossa.
- Kevyt suoritinjalanjälki purkamisen aikana, toimii sujuvasti vähävirtaisilla mobiililaitteilla ja reitittimillä.
Tekniset rajoitukset
- Vain yhden tiedoston pakkaus: ei voi pakata useita tiedostoja tai hakemistoja ilman niiden niputtamista ensin TAR-säilöön.
- Pakkaussuhde on heikompi kuin nykyaikaisilla algoritmeilla, kuten Brotli ja Zstandard, moderneilla verkkoteksteillä.
- Alatunnisteen pakkaamattoman koon kenttä on 32-bittinen modulo 2^32, mikä aiheuttaa virheitä suurempien kuin 4 Gt tiedostojen näytössä.
Mielenkiintoisia teknisiä faktoja
- Taikamerkit 0x1F 0x8B valittiin siksi, että 0x1F oli historiallisesti Unix 'compress' -tiedostojen ensimmäinen tavu, kun taas 0x8B tunnisti Gzipin.
- Yli 80 % kaikista maailman verkkosivustoista käyttää Gzip-pakkausta verkkosivujen toimittamiseen selaimille.
- Jean-loup Gailly kirjoitti pakkauskoodin ja Mark Adler purkukoodin (inflate); molemmat saivat ACM Software System Award -palkinnon.
Usein kysytyt tekniset kysymykset
Miksi en voi pakata kansiota Gzipillä?
Gzip on suunniteltu pakkaamaan yksittäinen tavuvirta. Kansion pakkaamiseksi Unix-järjestelmät yhdistävät kansion ensin yhdeksi .tar-tiedostoksi ja pakkaavat sen sitten Gzipillä .tar.gz-tiedoston luomiseksi.
Mitä eroa on .gz- ja .zip-tiedostoilla?
.zip on arkistomuoto, joka pakkaa useita tiedostoja yhteen hakemistohakemiston kanssa. .gz pakkaus koskee vain yhtä tiedostoa, ja se yhdistetään yleensä tariin Unix-järjestelmissä.
Miten voin purkaa .gz-tiedoston Windowsissa tai Macissa?
Käytä File2File.app-palvelua purkaaksesi .gz-tiedostot heti suoraan selaimessasi ilman ohjelmistojen asentamista.
Aiheeseen liittyvät GZ-muunnosparit
TAR-arkiston muuntaminen GZIP-arkistoksi kietoo pakkaamattoman tiedostokokoelman yhdeksi pakatuksi virraksi hyödyntäen häviötöntä DEFLATE-algoritmia tiedoston koon pienentämiseksi dramaattisesti.
GZIP-pakatun tiedoston muuntaminen TAR-arkistoksi poistaa pakkauskerroksen paljastaakseen raa'an, pakkaamattoman tiedostojen ja kansioiden kokoelman.