Archiwum Tar Gzip (.tar.gz)

POSIX.1 Standard

Tar Gzip (.tar.gz, znany również jako .tgz) to standardowy format dystrybucji oprogramowania oraz pakowania archiwów w świecie Linuksa i oprogramowania open-source, łączący uniksowe pakowanie TAR z uniwersalną kompresją Gzip.

Inspekcja i metadane

Systemy operacyjne i analizatory plików identyfikują pliki TAR.GZ, sprawdzając początkową sekwencję bajtów binarnych:

Wybierz lub upuść pliki tutaj

Prywatnie - pliki nigdy nie opuszczają Twojego urządzenia

lub wklej Ctrl+V
Gwarancja prywatności bez przesyłania danych do sieci: 0 bajtów przesłanych na zewnętrzne serwery. Całe przetwarzanie odbyło się lokalnie w piaskownicy przeglądarki.

Podpis nagłówka na poziomie bajtów (Magic Bytes)

Systemy operacyjne i analizatory plików identyfikują pliki TAR.GZ, sprawdzając początkową sekwencję bajtów binarnych:

PODPIS HEX (OFFSET 0):

1F 8B 08

REPREZENTACJA ASCII: ..\x08

Normalizacja: POSIX.1 ustar (opakowane w kontener kompresji Gzip RFC 1952)

Specyfikacja techniczna

Architektura konteneraStrumień archiwum POSIX ustar / GNU tar owinięty w kontener kompresji Gzip zgodny z RFC 1952
KompresjaDwustopniowe pakowanie: serializacja TAR, po której następuje kompresja DEFLATE
Kolejność bajtów (Endianness)Opakowanie Gzip w formacie Little-Endian zawierające ósemkowe bloki archiwum POSIX tar
Przestrzenie kolorówNie dotyczy (Kontener archiwum)
Kanały i strukturaWieloplikowe drzewa katalogów uniksowych, powiązania symboliczne, własność plików oraz bity uprawnień
Maks. wymiaryNieograniczony rozmiar strumieniowego archiwum
Przezroczystość100% bezstratne zachowanie struktur systemu plików i danych, bit w bit
Streaming i progresywne ładowanieStrumieniowanie potokiem od początku do końca: dekompresja i rozpakowywanie odbywają się jednocześnie w jednym przebiegu.

Techniczna macierz porównawcza: TAR.GZ a konkurencja

Atrybut technicznyTAR.GZ (Bieżący)ZIP7ZTAR.BZ2
Uprawnienia systemu Unix100% natywne zachowanie atrybutów POSIXOgraniczone / często traconeZachowane podstawowe atrybuty100% natywne zachowanie atrybutów POSIX
Stopień kompresjiUmiarkowany (Gzip DEFLATE)Umiarkowany (ZIP DEFLATE)Bardzo wysoki (LZMA2)Wysoki (Bzip2 BWT)
Szybkość dekompresjiSzybka (~300 MB/s)Szybka (~300 MB/s)Umiarkowana (~100 MB/s)Powolna (~40 MB/s)
Standard ekosystemu LinuxUniwersalny domyślny format open sourceDomyślny format na komputerach użytkownikówUlubiony format entuzjastów WindowsStarsze wydania kodu źródłowego Linuksa

Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego

Wiersz poleceń zgłasza błąd: „gzip: stdin: invalid compressed data--format violated”.

Główna przyczyna: Uszkodzone bajty w kopercie Gzip lub przerwane pobieranie pliku.

Odzyskiwanie: Spróbuj odzyskać część danych za pomocą File2File.app Archive Extractor lub polecenia „tar -izxf broken.tar.gz”.

Analiza bezpieczeństwa i wektory ataku na parser

Nieostrożne rozpakowywanie archiwów TAR.GZ naraża na zagrożenia związane zarówno z bombami dekompresyjnymi, jak i atakami polegającymi na przechodzeniu poza katalog docelowy.

Znane wektory ataku

  • Wzrost rozmiaru typowy dla bomby ZIP: niewielki plik .tar.gz rozrasta się do terabajtów zer.
  • Atak polegający na przechodzeniu poza katalog docelowy (np. „../../root/.ssh/authorized_keys”) w celu nadpisania plików o podwyższonych uprawnieniach.
  • Tworzenie złośliwych węzłów urządzeń podczas rozpakowywania z uprawnieniami administratora.

Najlepsze praktyki obronne: Rozpakowuj archiwa z konta bez uprawnień administratora i weryfikuj wszystkie ścieżki docelowe pod kątem prób wyjścia poza katalog.

Pochodzenie historyczne i kamienie milowe

2015Architektura dystrybucji kontenerów Docker standaryzuje warstwowe obrazy głównego systemu plików w formacie .tar.gz.
1996IETF standardizuje leżącą u podstaw specyfikację Gzip jako RFC 1952.
1993Projekt GNU dodaje zintegrowaną flagę „tar -z”, utrwalając format .tar.gz jako domyślny format pakietów w Linuksie.

Główne zalety

  • Powszechnie stosowany standard dystrybucji kodu źródłowego open source, pakietów linuksowych i warstw kontenerów Docker.
  • Łączy pełne zachowanie uprawnień POSIX i dowiązań symbolicznych z niezawodną i szybką kompresją Gzip.
  • W pełni strumieniowy format: pliki można pobierać, dekompresować i rozpakowywać przez potoki sieciowe bez zapisywania plików tymczasowych na dysku.

Ograniczenia techniczne i wady

  • Wyodrębnienie pojedynczego pliku wymaga dekompresji całego archiwum aż do lokalizacji tego pliku.
  • Niższy wskaźnik kompresji niż w przypadku nowoczesnych alternatyw, takich jak .tar.xz czy .tar.zst.
  • Mniej intuicyjny w starszych systemach Windows niż szeroko obsługiwany format ZIP.

Ciekawe informacje techniczne

  • W systemach MS-DOS z ograniczeniami nazw plików 8.3 rozszerzenie '.tar.gz' zostało skrócone do '.tgz'.
  • Za każdym razem, gdy uruchamiasz polecenie 'npm install', npm pobiera i rozpakowuje pakiety .tgz (tar.gz) w tle.
  • Użytkownicy Linuksa często zapamiętują polecenie rozpakowania pliku tar.gz dzięki angielskiemu mnemonikowi „eXtract Ze File”: tar -xzf file.tar.gz.

Często zadawane pytania techniczne

Czym różni się plik .tar.gz od .zip?

.zip kompresuje każdy plik osobno i zawiera katalog centralny na końcu archiwum. .tar.gz najpierw łączy wszystkie pliki w jeden strumień, zachowując pełne uprawnienia Linuksa i dowiązania symboliczne.

Czy .tgz to to samo co .tar.gz?

Tak. .tgz to skrócone, trzyliterowe rozszerzenie .tar.gz, utworzone pierwotnie dla systemów operacyjnych z ograniczeniem nazw plików do 8.3, takich jak DOS.

Jak mogę rozpakować plik .tar.gz w systemie Windows?

Pliki .tar.gz możesz rozpakować bezpośrednio w przeglądarce za pomocą File2File.app, bez instalowania WinRAR ani 7-Zip.