Archiwum Tar Gzip (.tar.gz)

POSIX.1 Standardowy

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

Konwersja w 100% prywatna w przeglądarce - 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)Koperta Gzip w formacie Little-Endian otaczająca ósemkowe bloki 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śćW 100% dokładna bitowo bezstratna preserwacja struktur i danych systemu plików
Streaming i progresywne ładowaniePrzesyłanie strumieniowe typu end-to-end: jednoczesna dekompresja i ekstrakcja w jednym przebiegu

Techniczna macierz porównawcza: TAR.GZ a konkurencja

Atrybut technicznyTAR.GZ (Bieżący)ZIP7ZTAR.BZ2
Uprawnienia systemu Unix100% natywne zachowanie POSIXOgraniczone / często traconeZachowane podstawowe atrybuty100% natywne zachowanie 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 standard open-sourceDomyślny format konsumenckich komputerów stacjonarnychUlubiony format entuzjastów WindowsStarsze wydania źródeł linuksowych

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: Podjęcie próby częściowego odzyskania za pomocą File2File Archive Extractor lub polecenia 'tar -izxf broken.tar.gz'.

Analiza bezpieczeństwa i wektory ataku na parser

Archiwa TAR.GZ łączą w sobie zagrożenia wynikające zarówno z bomb kompresyjnych, jak i ataków typu przekroczenie katalogu, jeśli zostaną rozpakowane bez zachowania ostrożności.

Znane wektory ataku

  • Amplikacja w stylu bomby ZIP, gdzie malutki plik .tar.gz rozszerza się do terabajtów zer.
  • Przekroczenie katalogu (np. '../../root/.ssh/authorized_keys') powodujące nadpisanie uprzywilejowanych plików.
  • Tworzenie złośliwych węzłów urządzeń podczas ekstrakcji z uprawnieniami root.

Najlepsze praktyki obronne: Rozpakowywanie archiwów jako użytkownicy bez uprawnień administracyjnych oraz sanityzowanie wszystkich docelowych ścieżek plików pod kątem przekroczenia katalogów.

Pochodzenie historyczne i kamienie milowe

2015Architektura dystrybucji kontenerów Docker ustanawia standard uwarstwionych obrazów głównego systemu plików w formacie .tar.gz.
1996IETF standardizuje leżącą u podstaw specyfikację Gzip jako RFC 1952.
1993Projekt GNU wprowadza zintegrowaną flagę 'tar -z', utrwalając format .tar.gz jako domyślny format pakietów linuksowych.

Główne zalety

  • Nekwestionowany standard dla wydawnictw kodu źródłowego oprogramowania open-source, pakietów linuksowych oraz warstw kontenerów Docker.
  • Łączy pełną preserwację uprawnień POSIX i linków symbolicznych z niezawodną i szybką kompresją Gzip.
  • W pełni strumieniowy: można go pobierać, dekompresować i rozpakowywać przez strumienie sieciowe bez konieczności zapisu 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 w porównaniu z uniwersalnymi plikami .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 powszechnie pamiętają polecenie do rozpakowywania pliku tar.gz za pomocą mnemonika '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 z osobna i posiada katalog centralny na końcu pliku. .tar.gz łączy najpierw wszystkie pliki w jeden strumień, zachowując pełne uprawnienia linuksowe oraz linki symboliczne.

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

Tak. .tgz to po prostu skrócone 3-literowe rozszerzenie pliku .tar.gz, utworzone pierwotnie dla systemów operacyjnych z krótkimi limitami nazw plików 8.3, takich jak DOS.

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

Możesz rozpakowywać pliki .tar.gz bezpośrednio w przeglądarce internetowej za pomocą serwisu File2File.app bez konieczności instalowania programu WinRAR lub 7-Zip.