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 selaimessa toimiva muunnin, jolla voit muuntaa tiedostoja muodosta TAR muotoon GZ. Muunna tiedostot hetkessä laitteellasi.
Tarkastele tiedostoa ja sen metatietoja
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat GZ-tiedostot tarkistamalla tiedoston alun binäärisarjan:
Otsaketunniste tavutasolla (tunnistetavut)
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat GZ-tiedostot tarkistamalla tiedoston alun binäärisarjan:
HEKSADEKSIMAALINEN TUNNISTE (SIJAINTI 0):
1F 8B 08ASCII-ESITYSTAPA: ..\x08
Standardointi: IETF RFC 1952
Tekniset tiedot
| Säiliöarkkitehtuuri | 10-tavuinen otsake (tunniste 0x1F 0x8B, menetelmä 8, liput, mtime, käyttöjärjestelmä), jota seuraavat DEFLATE-virta ja 8-tavuinen alatunniste |
| Pakkaus | DEFLATE-algoritmi (LZ77-liukuikkuna ja Huffman-koodaus) |
| Tavujärjestys (Endianness) | Little-Endian-otsakkeen ja alatunnisteen kokonaisluvut |
| Väriavaruudet | Ei sovellu (arkistosäilö) |
| Kanavat ja rakenne | Yhden tiedoston pakattu tavujono |
| Suurimmat mitat | Pakkaamaton koko tallennetaan modulo 2^32 (virran pituutta ei ole rajattu) |
| Läpinäkyvyys | Häviötön ja tavu tarkkuudella identtinen datan palautus |
| Suoratoisto ja progressiivinen lataus | Yhden läpikäynnin peräkkäinen suoratoisto putkissa ja HTTP-verkoissa |
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) |
| Laaja käyttö verkossa | Laaja tuki selaimissa ja palvelimissa; sisällön koodauksesta neuvotellaan pyyntökohtaisesti | Ei verkkoselaintukea | Monet selaimet tukevat HTTPS:n kautta; versiotuki vaihtelee | 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 vioittumistavat ja heksadesimaalinen palautusopas
Purkuvirhe: 'gzip: stdin: unexpected end of file'.
Perussyy: Ennenaikainen tiedonsiirron keskeytys, joka katkaisee DEFLATE-virran tai 8-tavuisen CRC32-alatunnisteen.
Korjaus: Pura sisältö osittain komennolla ”gzip -d --keep broken.gz” tai käytä File2File.app Gzip Extractoria.
Tietoturva-analyysi ja tiedostojäsentimien hyö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.
Tietoturvan parhaat käytännöt: Aseta automaattisissa käsittelypalveluissa tiukat purkukiintiöt ja muistirajat.
Historia ja virstanpylväät
Tärkeimmät edut
- Yleisesti tuettu HTTP-sisällön koodaus, mutta asiakkaat ja palvelimet voivat neuvotella muista koodauksista tai olla käyttämättä pakkausta.
- 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.
- Gzip on edelleen yleinen verkkovastausten pakkausmuoto; käyttö vaihtelee sivuston ja vastauksen mukaan.
- 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 hakemistoindeksin 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 pakkaa pakkaamattoman tiedostokokoelman yhdeksi pakatuksi virraksi hyödyntäen häviötöntä DEFLATE-algoritmia tiedoston koon pienentämiseksi dramaattisesti.
Pura TAR-tiedot GZIP-pakatusta TAR-arkistosta, kuten .tar.gz- tai .tgz-tiedostosta.