Tar Gzip Archive (.tar.gz)
POSIX.1 Standartinis„Tar Gzip" (.tar.gz, taip pat žinomas kaip .tgz) yra standartinis „Linux" ir atvirojo kodo pasaulio programinės įrangos platinimo bei archyvų pakavimo formatas, apjungiantis „Unix" savitą TAR pakavimą su universaliu „Gzip" suspaudimu.
Tikrinti ir metaduomenys
Operacinės sistemos ir failų analizatoriai atpažįsta TAR.GZ failus tikrindami pradinę dvejetainę baitų seką:
Baitų lygio antraštės parašas (magiškieji baitai)
Operacinės sistemos ir failų analizatoriai atpažįsta TAR.GZ failus tikrindami pradinę dvejetainę baitų seką:
ŠEŠIOLIKTAINIS PARAŠAS (POSLINKIS 0):
1F 8B 08ASCII ATVAIZDAVIMAS: ..\x08
Standartizacija: POSIX.1 ustar (RFC 1952 gzip wrapped)
Techninės specifikacijos
| Konteinerio architektūra | POSIX ustar / GNU tar archive stream wrapped inside an RFC 1952 Gzip compression container |
| Glaudinimas | Two-stage packaging: TAR serialization followed by DEFLATE compression |
| Baitų seka (Endianness) | Little-Endian gzip envelope wrapping octal POSIX tar blocks |
| Spalvų erdvės | N/A (Archive Container) |
| Kanalai ir struktūra | Multi-file Unix directory trees, symlinks, file ownership, and permission bits |
| Maksimalūs matmenys | Unbounded streaming archive size |
| Skaidrumas | 100% bit-exact lossless preservation of filesystem structures and data |
| Srautas ir progresyvusis įkėlimas | End-to-end pipeable streaming: decompress and extract simultaneously in a single pass |
Techninė palyginimo matrica: TAR.GZ vs konkurentai
| Techninis atributas | TAR.GZ (Dabartinis) | ZIP | 7Z | TAR.BZ2 |
|---|---|---|---|---|
| Unix teisės | 100 % vietinis POSIX išsaugojimas | Ribotos / dažnai prarandamos | Išsaugoti pagrindiniai atributai | 100 % vietinis POSIX išsaugojimas |
| Suspaudimo koeficientas | Vidutinis („Gzip DEFLATE") | Vidutinis („ZIP DEFLATE") | Labai aukštas („LZMA2") | Aukštas („Bzip2 BWT") |
| Išskleidimo greitis | Greitas (~300 MB/s) | Greitas (~300 MB/s) | Vidutinis (~100 MB/s) | Lėtas (~40 MB/s) |
| Linux ekosistemos standartas | Universalus atvirojo kodo numatytasis | Vartotojo kompiuterio numatytasis | „Windows" entuziastų mėgstamiausias | Pasenę „Linux" kodo leidimai |
Dažni sugadinimo režimai ir šešioliktainio atkūrimo vadovas
Komandinė eilutė praneša: „gzip: stdin: invalid compressed data--format violated".
Pirminė priežastis: Sugadinti baitai „Gzip" voke arba nutrauktas atsisiuntimas.
Atkūrimas: Pabandykite iš dalies atkurti naudodami „File2File Archive Extractor" arba „tar -izxf broken.tar.gz".
Saugumo analizė ir analizatoriaus atakos vektoriai
TAR.GZ archyvai sujunga tiek suspaudimo bombų, tiek katalogų perėjimo atakų rizikas, jei jie išskleidžiami neatsargiai.
Žinomi atakos vektoriai
- „Zip" bombos stiliaus amplifikacija, kai mažytis .tar.gz failas išsiplečia į terabaitus nulių.
- Katalogo perėjimas (pvz., „../../root/.ssh/authorized_keys"), perrašantis privilegijuotus failus.
- Kenksmingų įrenginių mazgų kūrimas išskleidimo metu root teisėmis.
Geriausia apsaugos praktika:
Istorinė kilmė ir svarbiausi etapai
Pagrindiniai privalumai
- Ginčytinas atvirojo kodo pirminio kodo leidimų, „Linux" paketų ir „Docker" konteinerių sluoksnių standartas.
- Sujungia pilną POSIX teisių ir simlinkų išsaugojimą su patikimu bei greitu „Gzip" suspaudimu.
- Visiškai srautinis: galima atsisiųsti, išskleisti ir išpakuoti per tinklo srautus nerašant laikinųjų failų į diską.
Techniniai apribojimai ir trūkumai
- Norint išskleisti vieną failą, reikia išskleisti visą archyvą iki to failo vietos.
- Mažesnis suspaudimo koeficientas nei šiuolaikinių alternatyvų, tokių kaip .tar.xz arba .tar.zst.
- Mažiau intuityvus senose „Windows" sistemose, palyginti su universaliais .zip failais.
Įdomūs techniniai faktai
- MS-DOS sistemose su 8.3 failų vardų apribojimais '.tar.gz' buvo sutrumpintas iki '.tgz'.
- Kiekvieną kartą paleidus „npm install", npm fone atsisiunčia ir išskleidžia .tgz (tar.gz) paketus.
- „Linux" vartotojai garsiai atsimena komandą, skirtą tar.gz failui išskleisti, pasitelkę mnemoniką „eXtract Ze File": tar -xzf file.tar.gz.
Dažniausiai užduodami techniniai klausimai
Kuo skiriasi .tar.gz ir .zip?
.zip suspaudžia kiekvieną failą atskirai ir turi centrinį katalogą pabaigoje. .tar.gz pirmiausia sujungia visus failus į vieną srautą, išsaugodamas pilnus „Linux“ leidimus ir simbolines nuorodas (symlinks).
Ar .tgz yra tas pats kas .tar.gz?
Taip. .tgz yra tiesiog sutrumpintas 3 raidžių plėtinys, skirtas .tar.gz, iš pradžių sukurtas operacinėms sistemoms su trumpais 8.3 failų vardų apribojimais, pavyzdžiui, DOS.
Kaip galiu išskleisti .tar.gz failą „Windows“ sistemoje?
Galite išskleisti .tar.gz failus tiesiogiai interneto naršyklėje naudodami File2File.app, neįdiegdami „WinRAR“ ar „7-Zip“.