Archiwum TAR (.tar)

POSIX.1-1988 Standardowy

Tape Archive (TAR) to wszechobecny w systemach Unix i Linux format pakowania plików, który grupuje wiele plików, katalogów i metadanych systemu plików w jeden nieskompresowany strumień przeznaczony do tworzenia kopii zapasowych na taśmach magnetycznych oraz dystrybucji oprogramowania.

Konwertuj ZIP na TAR

Darmowy konwerter z ZIP na TAR w przeglądarce. Konwertuj pliki natychmiast na swoim urządzeniu.

Inspekcja i metadane

Systemy operacyjne i analizatory plików identyfikują pliki TAR, 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, sprawdzając początkową sekwencję bajtów binarnych:

PODPIS HEX (OFFSET 257):

75 73 74 61 72

REPREZENTACJA ASCII: ustar

Normalizacja: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)

Specyfikacja techniczna

Architektura konteneraSekwencja bloków o wielkości 512 bajtów: nagłówek pliku o wielkości 512 bajtów, po którym następują dane pliku dopełnione do wielkości będącej wielokrotnością 512 bajtów, zakończona dwoma blokami wypełnionymi zerami
KompresjaNeskondensowany kontener archiwum (zaprojektowany z myślą o przekierowywaniu strumienia do gzip, bzip2, xz lub zstd)
Kolejność bajtów (Endianness)Ósemkowe ciągi znaków ASCII; rozszerzenia numeryczne big-endian
Przestrzenie kolorówNie dotyczy (Kontener archiwum)
Kanały i strukturaDrzewo katalogów plików systemu Unix, powiązania symboliczne (symlinki), powiązania twarde (hardlinki), urządzenia znakowe i blokowe oraz łącza nazwane FIFO
Maks. wymiaryLimit 8 GB w klasycznym formacie ustar; praktycznie nieograniczony w nowoczesnym formacie PAX
PrzezroczystośćPełne zachowanie uprawnień plików POSIX, identyfikatorów UID/GID właściciela, czasów dostępu oraz atrybutów rozszerzonych
Streaming i progresywne ładowanieSekwencyjna konstrukcja zorientowana strumieniowo: możliwość bezpośredniego zapisu na fizycznych napędach taśmowych

Techniczna macierz porównawcza: TAR a konkurencja

Atrybut technicznyTAR (Bieżący)ZIP7ZCPIO
Wbudowana kompresjaBrak (czysty kontener pakujący)Wbudowana kompresja DeflateWbudowana kompresja LZMA/LZMA2Brak (czysty kontener pakujący)
Zachowanie uprawnień systemu Unix100% atrybutów POSIX, symlinki, UID/GIDOgraniczone wsparcie dla uprawnień systemu UnixZachowuje podstawowe uprawnienia100% atrybutów POSIX
Ekstrakcja strumieniowaPełna ekstrakcja strumieniowa ze strumieniWymaga odczytu katalogu centralnego na końcu plikuWymaga odczytu nagłówka końcowegoPełna ekstrakcja strumieniowa
Dostęp swobodny do plikówPowolny (liniowe skanowanie sekwencyjne)Natychmiastowy (wyszukiwanie w katalogu centralnym)Umiarkowany (wyszukiwanie w indeksie)Powolny (liniowe skanowanie sekwencyjne)

Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego

Błąd ekstrakcji: 'tar: Skipping to next header' lub 'A lone zero block at X'.

Główna przyczyna: Uszkodzone wyrównanie bloków 512-bajtowych lub przedwczesne zakończenie strumienia.

Odzyskiwanie: Wyodrębnij za pomocą polecenia 'tar -i', aby zignorować uszkodzone bloki, lub napraw za pomocą narzędzia File2File Tar Tool.

Analiza bezpieczeństwa i wektory ataku na parser

Programy rozpakowujące archiwa TAR muszą sanityzować ścieżki plików, aby zapobiec dowolnemu nadpisywaniu plików w wyniku ataków polegających na przekroczeniu katalogu (directory traversal).

Znane wektory ataku

  • Przekroczenie katalogu typu 'Slip' (np. '../etc/passwd') powodujące nadpisanie krytycznych plików systemowych podczas ekstrakcji.
  • Ataki wyścigu łącza symbolicznego (symlink race conditions) tworzące dowiązania do katalogów systemowych, po których następuje zapis plików.
  • Atak typu odmowa usługi (DoS) poprzez cykliczne pętle twardych dowiązań.

Najlepsze praktyki obronne: Ścisłe sanityzowanie ścieżek plików w archiwum i odrzucanie wszelkich wpisów zawierających odwołania do katalogu nadrzędnego ('..').

Pochodzenie historyczne i kamienie milowe

2001Standard IEEE POSIX.1-2001 wprowadza standard PAX (Portable Archive Interchange), przełamując dziedziczne limity rozmiaru 8 GB.
1988Standard IEEE POSIX formalizuje format nagłówka 'ustar' (Unix Standard Tar).
1979Wprowadzony w systemie Version 7 Unix (V7) przez laboratoria Bell Labs w celu zapisu drzew plików na napędach taśm magnetycznych.

Główne zalety

  • Wiernie zachowuje pełną wierność systemu plików Unix: uprawnienia POSIX, symlinki, hardlinki oraz własność.
  • Konstrukcja zorientowana strumieniowo na taśmy: można go rozpakowywać bezpośrednio ze strumienia sieciowego bez konieczności szukania końca pliku.
  • Uniwersalny standard we wszystkich serwerach Linux, obrazach kontenerów (Docker/OCI) oraz dystrybucjach oprogramowania uniksowego.

Ograniczenia techniczne i wady

  • Brak wbudowanej kompresji: nieskompresowany plik .tar ma w przybliżeniu taki sam rozmiar jak suma surowych plików.
  • Dostęp swobodny jest powolny: wyodrębnienie pojedynczego pliku ze środka gigantycznego archiwum wymaga skanowania od samego początku.
  • Starsze nagłówki ustar skracały nazwy plików dłuższe niż 100 znaków (problem rozwiązany w nowocześniejszych formatach PAX / GNU tar).

Ciekawe informacje techniczne

  • Magiczne bajty 'ustar' znajdują się pod offsetem 257 w każdym 512-bajtowym bloku nagłówka.
  • Format TAR został pierwotnie napisany w celu fizycznego sterowania 9-ścieżkowymi napędami taśmowymi szpulowymi.
  • Obrazy kontenerów Docker i OCI to dosłownie uwarstwione zestawy standardowych archiwów .tar zawierających różnice głównego systemu plików.

Często zadawane pytania techniczne

Dlaczego mój plik .tar nie jest skompresowany?

TAR to wyłącznie archiwizator (łączy pliki w jeden plik) i sam w sobie nie kompresuje danych. Aby go skompresować, połącz go z programem gzip, aby utworzyć plik .tar.gz.

Czym się różni format ustar od GNU tar?

Ustar to standard POSIX z 1988 roku z limitem 100 znaków w nazwach plików, podczas gdy GNU tar to format rozszerzony obsługujący nieograniczone długości ścieżek oraz pliki rzadkie (sparse files).

Jak mogę otworzyć plik .tar w systemie Windows?

Systemy Windows 10 i 11 obsługują pliki tar natywnie za pomocą wiersza poleceń ('tar -xf file.tar') lub możesz je rozpakować wizualnie za pomocą aplikacji File2File.app bezpośrednio w przeglądarce internetowej.