Tar-Gzip-arkiv (.tar.gz)
POSIX.1 StandardTar Gzip (.tar.gz, även kallat .tgz) kombinerar ett TAR-arkiv med Gzip-komprimering och används ofta för programvarudistribution och paketering av filer.
Granska och metadata
Operativsystem och filanalysverktyg identifierar TAR.GZ-filer genom att granska den inledande sekvensen av binära byte:
Signatur i filhuvudet på bytenivå (magiska byte)
Operativsystem och filanalysverktyg identifierar TAR.GZ-filer genom att granska den inledande sekvensen av binära byte:
HEX-SIGNATUR (OFFSET 0):
1F 8B 08ASCII-REPRESENTATION: ..\x08
Standardisering: POSIX.1 ustar (RFC 1952 gzip-omslaget)
Tekniska specifikationer
| Containerarkitektur | POSIX ustar-/GNU tar-arkivström inuti en RFC 1952-komprimeringsbehållare med Gzip |
| Komprimering | Paketering i två steg: serialisering med TAR följd av DEFLATE-komprimering |
| Byteordning | Little-endian-byteordnad Gzip-omslutning runt oktala POSIX-tar-block |
| Färgrymder | Ej tillämpligt (arkivbehållare) |
| Kanaler och struktur | Flerfiliga Unix-katalogträd, symboliska länkar, filägarskap och behörighetsbitar |
| Maximala dimensioner | Obegränsad arkivstorlek vid strömning |
| Transparens | Förlustfria fildata; bevarandet av metadata beror på arkivformatet och inställningarna för extrahering |
| Strömning och progressiv visning | Strömning genom hela kedjan: dekomprimering och extrahering sker samtidigt i ett enda svep |
Teknisk jämförelsematris: TAR.GZ jämfört med konkurrenter
| Tekniskt attribut | TAR.GZ (Aktuell) | ZIP | 7Z | TAR.BZ2 |
|---|---|---|---|---|
| Unix-behörigheter | Lagrar POSIX-metadata som arkivformatet och extraheraren stöder | Begränsat stöd eller går ofta förlorat | Grundläggande attribut bevarade | Extraheraren kan bevara utvalda POSIX-metadata |
| Komprimeringsgrad | Måttlig (Gzip DEFLATE) | Måttlig (ZIP DEFLATE) | Mycket hög (LZMA2) | Hög (Bzip2 BWT) |
| Dekomprimeringshastighet | Snabb (~300 MB/s) | Snabb (~300 MB/s) | Måttlig (~100 MB/s) | Långsam (~40 MB/s) |
| Linux-ekosystemets standard | Vanligt vid paketering av öppen källkod | Vanligt standardval på konsumentdatorer | Favorit bland Windows-entusiaster | Äldre Linux-källkodsutgåvor |
Vanliga skadeorsaker och hex-återställningsguide
Kommandoraden rapporterar 'gzip: stdin: invalid compressed data--format violated'.
Grundorsak: Skadade byte i Gzip-omslaget eller avbruten nedladdning.
Återställning: Försök till partiell återställning med File2File.app Archive Extractor eller 'tar -izxf broken.tar.gz'.
Säkerhetsanalys och attackvektorer för tolkar
TAR.GZ-arkiv kombinerar riskerna med både komprimeringsbomber och katalogtraverseringsattacker om de extraheras oaktsamt.
Kända attackvektorer
- Förstoring i stil med en zip-bomb, där en liten .tar.gz-fil expanderar till terabyte med nollor.
- Katalogtraversering (t.ex. '../../root/.ssh/authorized_keys') som skriver över skyddade filer.
- Skapande av skadliga enhetsnoder under extrahering som root.
Rekommenderade skyddsåtgärder: Extrahera arkiv som användare utan särskilda privilegier och sanera alla sökvägar för målfiler för att förhindra katalogtraversering.
Historiskt ursprung och milstolpar
Viktiga fördelar
- Programvaruprojekt publicerar ofta källkodsarkiv som .tar.gz eftersom TAR samlar katalogträdet och Gzip komprimerar strömmen.
- En .tar.gz-fil kan lagra behörigheter och symboliska länkar i TAR-delen. Återställningen beror på extraheraren och målsystemet, så kontrollera behörigheterna efter uppackning på en annan plattform.
- Helt strömningsbar: kan laddas ner, dekomprimeras och packas upp via nätverksströmmar utan att tillfälliga filer skrivs till disk.
Tekniska begränsningar
- Att extrahera en enskild fil kräver dekomprimering av hela arkivet fram till den filens plats.
- Lägre komprimeringsgrad än moderna alternativ som .tar.xz eller .tar.zst.
- Mindre intuitivt på äldre Windows-system än det brett stödda ZIP-formatet.
Intressant teknisk kuriosa
- På MS-DOS-system med begränsningar för 8.3-filnamn förkortades '.tar.gz' till '.tgz'.
- Varje gång du kör 'npm install' laddar npm ner och extraherar .tgz-paket (tar.gz) i bakgrunden.
- Linuxanvändare brukar minnas kommandot för att extrahera en tar.gz-fil med minnesregeln 'eXtract Ze File': tar -xzf file.tar.gz.
Vanliga tekniska frågor
Vad är skillnaden mellan .tar.gz och .zip?
.zip lagrar filer med en central katalog, medan .tar.gz kapslar in en TAR-ström i Gzip. Bevarandet av metadata beror på arkivet och inställningarna vid extraheringen.
Är .tgz samma sak som .tar.gz?
Ja. .tgz är helt enkelt en förkortad filändelse på tre tecken för .tar.gz, ursprungligen skapad för operativsystem med korta filnamnsbegränsningar som 8.3 i DOS.
Hur kan jag extrahera en .tar.gz-fil på Windows?
Du kan extrahera .tar.gz-filer direkt i din webbläsare med File2File.app utan att installera WinRAR eller 7-Zip.