Wat is het GZ-bestandsformaat?
Een .gz-bestand is een gecomprimeerd bestand dat is gemaakt met de GNU zip (gzip) tool. Het formaat is ontwikkeld door Jean-loup Gailly en Mark Adler voor het GNU Project, met als doel een patentvrije vervanger te creëren voor de oudere .Z-compressie die op UNIX-systemen werd gebruikt. .gz-bestanden slaan nuttige metadata op in hun header - de oorspronkelijke bestandsnaam en een tijdstempel van wijziging - wat handig kan zijn als het bestand tijdens het compressieproces wordt hernoemd.
Waar wordt .gz-compressie gebruikt?
Bestanden in het .gz-formaat worden veelvuldig aangetroffen in softwarepakketten en installatieprogramma's voor op Unix gebaseerde besturingssystemen. Naast installatieprogramma's wordt het .gz-formaat ook vaak gebruikt om tekstbronnen zoals HTML, CSS en JavaScript op webservers te comprimeren, wat het sneller laden van webpagina's vergemakkelijkt. Niettemin wordt deze compressiemethode ook gebruikt voor reguliere gegevensarchivering, waardoor .gz-bestanden ook door Windows- en macOS-gebruikers kunnen worden aangetroffen.
Details over .gz-compressie
De .gz-compressiemethode heeft één belangrijk kenmerk: een archief mag slechts één enkel bestand bevatten. De standaardmanier om deze beperking te omzeilen is door eerst meerdere bestanden te bundelen met de tar-archiveringstool en vervolgens het resultaat te comprimeren - wat een .tar.gz- of .tgz-bestand oplevert. Deze tweestapsbenadering is de de-facto standaard voor het distribueren van software-broncode op Linux en macOS.
Beveiliging & veiligheid
RISICO: LOWHet gzip-formaat is open en veilig, en een .gz is slechts gecomprimeerde data die niet uit zichzelf kan draaien. De gebruikelijke voorzichtigheid bij archieven is van toepassing: een .gz/.tar.gz van een onbetrouwbare bron kan uitvoerbare bestanden of scripts bevatten die pas na extractie zichtbaar worden, dus scan de inhoud voordat u iets uitvoert. Twee technische opmerkingen: extreem kleine .gz-bestanden kunnen uitdijen tot enorme formaten („decompressiebommen”) - wees op uw hoede voor verdacht kleine archieven; en een .tar.gz kan paden bevatten met „../” (een path-traversal/„tar slip” risico) - moderne uitpakprogramma's beschermen hiertegen, maar pak onbetrouwbare tarballs uit in een lege map.
Formaatdetails
in een notendopProgramma's die GZ-bestanden openen
gunzip file.gz. Tarball: tar -xzf file.tar.gz. Voorgeïnstalleerd op vrijwel elk Linux/Unix-systeem. Technische details
diepe specificaties| Magic bytes | `1F 8B` op offset 0, gevolgd door `08` (DEFLATE-methode byte) |
| Compressie-algoritme | DEFLATE (RFC 1951); methode-byte `08` is de enige waarde die in de praktijk wordt gebruikt |
| MIME-type | `application/gzip` |
| Bestanden per stream | Eén - `.gz` comprimeert een enkel invoerbestand per stream |
| Header-metadata | Slaat de oorspronkelijke bestandsnaam (FNAME-vlag) en de tijdstempel van laatste wijziging van het bronbestand op |
| Integriteitscontrole | CRC-32 checksum van de ongecomprimeerde gegevens, geschreven naar de 8-byte trailer en geverifieerd bij extractie |
| Grootte-veld | 4-byte ISIZE in de trailer bevat de oorspronkelijke ongecomprimeerde grootte modulo 2³² |
| Compressieniveaus | Negen niveaus (1 = snelste/minste compressie, 9 = langzaamste/beste); standaard is niveau 6 |
| HTTP-content-encoding | Gebruikt als de `gzip` Content-Encoding in HTTP/1.1 voor het on-the-fly comprimeren van web-responses |
| Stream-concatenatie | Meerdere `.gz`-streams kunnen worden samengevoegd; `gunzip` decomprimeert deze als een enkele doorlopende uitvoer |
| OS-identificatie | 1-byte OS-veld in de header (bijv. `03` = Unix, `00` = FAT) identificeert het bronsysteem |
| Header-vlaggen | Vlaggen-byte bestuurt optionele velden: FNAME, FCOMMENT, FEXTRA en FHCRC (header CRC-16 controle) |
| Versleuteling | Geen ingebouwd - het formaat heeft geen wachtwoordbeveiliging of versleutelingsmechanisme |
| Conventie voor meerdere bestanden | Gebruik eerst `tar` om bestanden te bundelen, daarna comprimeren: `tar czf archive.tar.gz files/` produceert een `.tar.gz` tarball |
| Streaming-ontwerp | Comprimeert in een enkele voorwaartse gang; vereist geen kennis van de totale invoergrootte vooraf |
| Uitgebracht | 1992 (gzip 1.0); format standardized as RFC 1952 (1996) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | www.rfc-editor.org |
GZ conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over GZ-bestanden.
Veelgestelde vragen
Hoe open ik een GZ-bestand?
gunzip file.gz uit, of tar -xzf file.tar.gz voor een tarball.Wat is het verschil tussen .gz en .tar.gz?
Hoe open ik een GZ-bestand op Windows?
Kan ik gratis een GZ-bestand maken?
gzip/tar ingebouwd.Waarom bevat mijn GZ-bestand slechts één bestand terwijl ik er veel verwachtte?
Hoe pak ik een .tar.gz in één stap uit?
tar -xzf archive.tar.gz. In een GUI pakken PeaZip, Keka, Ark en File Roller zowel de gzip- als de tar-lagen uit in één handeling.