Tar-Gzip-arkiv (.tar.gz)
POSIX.1 StandardTar Gzip (.tar.gz, også kjent som .tgz) kombinerer et TAR-arkiv med Gzip-komprimering og brukes ofte til programvaredistribusjon og pakking av filer.
Inspeksjon og metadata
Operativsystemer og filanalysatorer identifiserer TAR.GZ-filer ved å undersøke den innledende binære bytesekvensen:
Filsignatur på bytenivå (magiske byte)
Operativsystemer og filanalysatorer identifiserer TAR.GZ-filer ved å undersøke den innledende binære bytesekvensen:
HEX-SIGNATUR (OFFSET 0):
1F 8B 08ASCII-REPRESENTASJON: ..\x08
Standardisering: POSIX.1 ustar (Gzip-komprimert i henhold til RFC 1952)
Tekniske spesifikasjoner
| Beholderarkitektur | POSIX ustar- eller GNU tar-arkivstrøm pakket inn i en RFC 1952 Gzip-komprimeringsbeholder |
| Komprimering | Pakking i to trinn: først serialisering i TAR-format, deretter DEFLATE-komprimering |
| Bytterekkefølge | Little-endian-Gzip-innpakning rundt oktale POSIX-tar-blokker |
| Fargerom | Ikke relevant (arkivbeholder) |
| Kanaler og struktur | Unix-katalogtrær med flere filer, symbolske lenker, eierskap til filer og tillatelsesbiter |
| Maks. dimensjoner | Ubegrenset arkivstørrelse ved strømming |
| Gjennomsiktighet | Fildata bevares uten tap; bevaring av metadata avhenger av arkivformat og innstillinger for utpakking |
| Strømming og progressiv visning | Strømming gjennom hele kjeden via pipe: dekomprimering og utpakking skjer samtidig i én gjennomgang |
Teknisk sammenligningsmatrise: TAR.GZ sammenlignet med konkurrenter
| Teknisk attributt | TAR.GZ (Gjeldende) | ZIP | 7Z | TAR.BZ2 |
|---|---|---|---|---|
| Unix-rettigheter | Lagrer POSIX-metadata som støttes av arkivet og utpakkingsverktøyet | Begrenset / ofte tapt | Grunnleggende attributter bevart | Utvalgte POSIX-metadata som støttes av utpakkingsverktøyet |
| Komprimeringsforhold | Moderat (Gzip DEFLATE) | Moderat (ZIP DEFLATE) | Svært høyt (LZMA2) | Høyt (Bzip2 BWT) |
| Dekomprimeringshastighet | Rask (~300 MB/s) | Rask (~300 MB/s) | Moderat (~100 MB/s) | Treg (~40 MB/s) |
| Linux-økosystemstandard | Vanlig for pakking av programvare med åpen kildekode | Standard på forbruker-PC-er | Windows-entusiastfavoritt | Eldre Linux-kildeutgivelser |
Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning
Kommandolinjen rapporterer «gzip: stdin: invalid compressed data--format violated».
Underliggende årsak: Skadede byte i Gzip-konvolutten eller avbrutt nedlasting.
Utbedring: Forsøk delvis gjenoppretting ved hjelp av File2File.app Archive Extractor eller «tar -izxf broken.tar.gz».
Sikkerhetsanalyse og angrepsvektorer mot parsere
TAR.GZ-arkiver kombinerer risiko for både komprimeringsbomber og katalogkryssingsangrep hvis de pakkes ut uforsiktig.
Kjente angrepsvektorer
- Forsterkning i stil med zip-bomber der en liten .tar.gz-fil utvides til terabytes med nuller.
- Katalogkryssing (f.eks. '../../root/.ssh/authorized_keys') som overskriver privilegerte filer.
- Oprettelse av ondsinnede enhetsnoder under utpakking som root.
Anbefalte sikkerhetstiltak: Pakk ut arkiver som upriviligerte brukere, og rens alle målfilstier for å hindre katalogkryssing.
Historisk opprinnelse og milepæler
Viktige fordeler
- Programvareprosjekter publiserer ofte kildekodearkiver som .tar.gz fordi TAR samler katalogtreet og Gzip komprimerer strømmen.
- Et .tar.gz-arkiv kan lagre tillatelser og symbolske lenker i TAR-laget. Gjenopprettingen avhenger av utpakkingsverktøyet og operativsystemet det pakkes ut på; kontroller derfor tillatelsene etter utpakking på en annen plattform.
- Fullstendig strømbar: kan lastes ned, dekomprimeres og pakkes ut over nettverkspiper uten å skrive midlertidige filer til disk.
Tekniske begrensninger og ulemper
- Utpakking av en enkelt fil krever dekomprimering av hele arkivet opp til den filens plassering.
- Lavere komprimeringsforhold enn moderne alternativer som .tar.xz eller .tar.zst.
- Mindre intuitivt på eldre Windows-systemer enn det bredt støttede ZIP-formatet.
Interessante tekniske fakta
- På MS-DOS-systemer med 8.3-filnavnsgrenser ble «.tar.gz» forkortet til «.tgz».
- Hver gang du kjører «npm install», laster npm ned og pakker ut .tgz (tar.gz)-pakker i bakgrunnen.
- Linux-brukere husker berømt kommandoen for å pakke ut en tar.gz-fil med huskeregelen «eXtract Ze File»: tar -xzf file.tar.gz.
Ofte stilte tekniske spørsmål
Hva er forskjellen mellom .tar.gz og .zip?
.zip lagrer filene sammen med en sentral katalog, mens .tar.gz pakker en TAR-strøm inn i Gzip. Bevaring av metadata avhenger av arkivet og innstillingene for utpakking.
Er .tgz det samme som .tar.gz?
Ja. .tgz er enkelt og greit en forkortet filendelse på 3 tegn for .tar.gz, opprinnelig opprettet for operativsystemer med korte 8.3-filnavngrenser som DOS.
Hvordan kan jeg pakke ut en .tar.gz-fil på Windows?
Du kan pakke ut .tar.gz-filer direkte i nettleseren din ved hjelp av File2File.app uten å installere WinRAR eller 7-Zip.