Archiwum Tar Gzip (.tar.gz)
POSIX.1 StandardTar Gzip (.tar.gz, znan tudi kot .tgz) je standardni format za distribucijo programske opreme in pakiranje arhivov v svetu Linuxa in odprtokodne programske opreme, ki združuje pakiranje TAR, ki je lastno sistemu Unix, z univerzalnim stiskanjem Gzip.
Pregled in metapodatki
Operacijski sistemi in analizatorji datotek identificirajo datoteke TAR.GZ s pregledom vodilnega binarnega zaporedja bajtov:
Podpis glave na ravni bajtov (Čarobni bajti)
Operacijski sistemi in analizatorji datotek identificirajo datoteke TAR.GZ s pregledom vodilnega binarnega zaporedja bajtov:
PODPIS HEX (ZAMIK 0):
1F 8B 08REPREZENTACIJA ASCII: ..\x08
Standardizacija: POSIX.1 ustar (RFC 1952 gzip wrapped)
Tehnične specifikacije
| Arhitektura vsebnika | POSIX ustar / GNU tar archive stream wrapped inside an RFC 1952 Gzip compression container |
| Stiskanje | Two-stage packaging: TAR serialization followed by DEFLATE compression |
| Vrstni red bajtov | Little-Endian gzip envelope wrapping octal POSIX tar blocks |
| Barvni prostori | N/A (Archive Container) |
| Kanali in struktura | Multi-file Unix directory trees, symlinks, file ownership, and permission bits |
| Največje dimenzije | Unbounded streaming archive size |
| Prosojnost | 100% bit-exact lossless preservation of filesystem structures and data |
| Pretočno in progresivno predvajanje | End-to-end pipeable streaming: decompress and extract simultaneously in a single pass |
Tehnična primerjalna matrika: TAR.GZ proti konkurenci
| Tehnični atribut | TAR.GZ (Trenutno) | ZIP | 7Z | TAR.BZ2 |
|---|---|---|---|---|
| Dovoljenja Unix | 100 % izvirno ohranjanje POSIX | Omejeno / pogosto izgubljeno | Osnovni atributi ohranjeni | 100 % izvirno ohranjanje POSIX |
| Razmerje stiskanja | Zmerno (Gzip DEFLATE) | Zmerno (ZIP DEFLATE) | Zelo visoko (LZMA2) | Visoko (Bzip2 BWT) |
| Hitrost dekompresije | Hitro (~300 MB/s) | Hitro (~300 MB/s) | Zmerno (~100 MB/s) | Počasi (~40 MB/s) |
| Standard ekosistema Linux | Univerzalna odprtokodna privzeta vrednost | Privzeta vrednost za potrošniško namizje | Priljubljeno pri navdušencih nad Windows | Starejše izdaje izvorne koda Linux |
Pogosti načini okvar in vodič za heksadecimalno obnovo
V ukazni vrstici se izpiše 'gzip: stdin: neveljavni stisnjeni podatki - kršitev oblike'.
Glavni vzrok: Poškodovani bajti v ovojnici Gzip ali prekinjen prenos.
Sanacija: Poskusite delno obnovitev z uporabo programa File2File Archive Extractor ali ukaza 'tar -izxf broken.tar.gz'.
Varnostna analiza in napadalni vektorji razčlenjevalnika
Arhivi TAR.GZ združujejo tveganja stiskalnih bomb in napadov s prečkanjem imenika, če se jih ekstrahira neprevidno.
Znani vektorji napada
- Ojačitev v slogu bombe zip, kjer se majhna datoteka .tar.gz razširi v terabajte ničel.
- Prečkanje imenika (npr. '../../root/.ssh/authorized_keys'), ki prepiše privilegirane datoteke.
- Ustvarjanje zlonamernih vozlišče naprav med ekstrakcijo s pravicami korenskega uporabnika (root).
Obrambne najboljše prakse:
Zgodovinski izvor in mejniki
Ključne prednosti
- Nesporni standard za odprtokodne izdaje izvorne kode, pakete Linux in sloje vsebnikov Docker.
- Združuje popolno ohranjanje dovoljenj POSIX in simbolnih povezav z zanesljivim in hitrim stiskanjem Gzip.
- Popolnoma pretočen: mogoče ga je predočiti, dekomprimirati in razpakirati prek omrežnih cevi brez zapisovanja začasnih datotek na disk.
Tehnične omejitve in slabosti
- Ekstrakcija ene same datoteke zahteva dekompresijo celotnega arhiva do lokacije te datoteke.
- Manjše razmerje stiskanja kot pri sodobnih alternativah, kot sta .tar.xz ali .tar.zst.
- Manj intuitiven v starejših sistemih Windows v primerjavi z univerzalnimi datotekami .zip.
Zanimive tehnične malenkosti
- V sistemih MS-DOS s 3-znakovskimi omejitvami za končnice datotek je bila končnica '.tar.gz' skrajšana v '.tgz'.
- Vsakič, ko zaženete 'npm install', npm v ozadju prestraši in izvleče pakete .tgz (tar.gz).
- Uporabniki Linuxa se znajo spomniti ukaza za izvlečenje datoteke tar.gz z mnemonikom 'eXtract Ze File': tar -xzf file.tar.gz.
Pogosta tehnična vprašanja
Kakšna je razlika med .tar.gz in .zip?
.zip stiska vsako datoteko posebej in ima osrednji imenik na koncu. .tar.gz najprej združi vse datoteke v en sam tok, pri čemer ohrani celotna dovoljenja sistema Linux in simbolne povezave.
Ali je .tgz isto kot .tar.gz?
Da. .tgz je preprosto okrajšana 3-črkovna pripona datoteke za .tar.gz, prvotno ustvarjena za operacijske sisteme s kratkimi omejitvami imen datotek 8.3, kot je DOS.
Kako lahko ekstrahiram datoteko .tar.gz v sistemu Windows?
Datoteke .tar.gz lahko ekstrahirate neposredno v spletnem brskalniku z uporabo File2File.app, ne da bi namestili WinRAR ali 7-Zip.