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ą:

Pasirinkite arba nuvilkite failus čia

100% privatus konvertavimas naršyklėje - failai niekada nepalieka jūsų įrenginio

arba įklijuokite Ctrl+V
Nulinio tinklo perdavimo privatumo garantija: 0 baitų įkelta į išorinius serverius. Visas apdorojimas vyko vietoje, jūsų naršyklės smėlio dėžėje (sandbox).

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 08

ASCII ATVAIZDAVIMAS: ..\x08

Standartizacija: POSIX.1 ustar (RFC 1952 gzip wrapped)

Techninės specifikacijos

Konteinerio architektūraPOSIX ustar / GNU tar archive stream wrapped inside an RFC 1952 Gzip compression container
GlaudinimasTwo-stage packaging: TAR serialization followed by DEFLATE compression
Baitų seka (Endianness)Little-Endian gzip envelope wrapping octal POSIX tar blocks
Spalvų erdvėsN/A (Archive Container)
Kanalai ir struktūraMulti-file Unix directory trees, symlinks, file ownership, and permission bits
Maksimalūs matmenysUnbounded streaming archive size
Skaidrumas100% bit-exact lossless preservation of filesystem structures and data
Srautas ir progresyvusis įkėlimasEnd-to-end pipeable streaming: decompress and extract simultaneously in a single pass

Techninė palyginimo matrica: TAR.GZ vs konkurentai

Techninis atributasTAR.GZ (Dabartinis)ZIP7ZTAR.BZ2
Unix teisės100 % vietinis POSIX išsaugojimasRibotos / dažnai prarandamosIšsaugoti pagrindiniai atributai100 % vietinis POSIX išsaugojimas
Suspaudimo koeficientasVidutinis („Gzip DEFLATE")Vidutinis („ZIP DEFLATE")Labai aukštas („LZMA2")Aukštas („Bzip2 BWT")
Išskleidimo greitisGreitas (~300 MB/s)Greitas (~300 MB/s)Vidutinis (~100 MB/s)Lėtas (~40 MB/s)
Linux ekosistemos standartasUniversalus atvirojo kodo numatytasisVartotojo kompiuterio numatytasis„Windows" entuziastų mėgstamiausiasPasenę „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

2015„Docker" konteinerių platinimo architektūra standartizuojasi ties sluoksniuotais .tar.gz rootfs atvaizdais.
1996IETF standartizuoja pagrindinę „Gzip" specifikaciją kaip RFC 1952.
1993GNU projektas pristato integruotą vėliavėlę „tar -z", įtvirtindamas .tar.gz kaip numatytąjį „Linux" paketų formatą.

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“.