Archiwum TAR (.tar)

POSIX.1-1988 Standard

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

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, 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
KompresjaNieskompresowany 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 (kontener służący wyłącznie do pakowania plików)Wbudowana kompresja DeflateWbudowana kompresja LZMA/LZMA2Brak (kontener służący wyłącznie do pakowania plików)
Zachowanie uprawnień systemu Unix100% atrybutów POSIX, dowiązania symboliczne, UID/GIDOgraniczone wsparcie dla uprawnień systemu UnixZachowuje podstawowe uprawnienia100% atrybutów POSIX
Rozpakowywanie ze strumieniaPełne rozpakowywanie ze strumienia wejściowegoWymaga odczytu katalogu centralnego na końcu plikuWymaga odczytu nagłówka końcowegoPełne rozpakowywanie ze strumienia
Dostęp losowy 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 rozpakowywania: „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: Rozpakuj archiwum poleceniem „tar -i”, aby zignorować uszkodzone bloki, albo napraw je narzędziem Tar Tool w File2File.app.

Analiza bezpieczeństwa i wektory ataku na parser

Programy rozpakowujące archiwa TAR muszą weryfikować i normalizować ścieżki plików, aby zapobiec nadpisywaniu dowolnych plików w wyniku ataków polegających na przechodzeniu poza katalog docelowy.

Znane wektory ataku

  • Atak typu „Slip” polegający na przechodzeniu poza katalog docelowy (np. „../etc/passwd”) może nadpisać krytyczne pliki systemowe podczas rozpakowywania.
  • Atak wyścigu z dowiązaniem symbolicznym: utworzenie dowiązania do katalogu systemowego, po którym następuje zapis pliku.
  • Atak typu odmowa usługi (DoS) za pomocą cyklicznych łańcuchów twardych dowiązań.

Najlepsze praktyki obronne: Dokładnie weryfikuj ścieżki plików w archiwum i odrzucaj wszystkie wpisy zawierające odwołanie do katalogu nadrzędnego („..”).

Pochodzenie historyczne i kamienie milowe

2001IEEE POSIX.1-2001 wprowadza standard PAX (Portable Archive Interchange), znosząc wcześniejszy limit rozmiaru 8 GB.
1988IEEE standaryzuje format nagłówka „ustar” (Unix Standard Tar).
1979Format wprowadzony przez Bell Labs w systemie Version 7 Unix (V7) do zapisywania drzew plików na taśmach magnetycznych.

Główne zalety

  • Wiernie zachowuje wszystkie cechy uniksowego systemu plików: uprawnienia POSIX, dowiązania symboliczne i twarde oraz informacje o właścicielu.
  • Format przeznaczony do strumieniowego zapisu na taśmach: archiwum można rozpakować bezpośrednio ze strumienia sieciowego, bez przewijania do 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 łączny rozmiar plików źródłowych.
  • Dostęp losowy jest powolny: aby rozpakować pojedynczy plik ze środka dużego archiwum TAR, trzeba czytać je od początku.
  • Starsze nagłówki ustar skracały nazwy plików dłuższe niż 100 znaków; problem rozwiązano w nowszych formatach PAX i GNU tar.

Ciekawe informacje techniczne

  • Ciąg bajtów „ustar” znajduje się pod offsetem 257 w każdym 512-bajtowym bloku nagłówka.
  • Format TAR został pierwotnie opracowany do sterowania dziewięciościeżkowymi napędami taśmowymi ze szpulami.
  • 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 służy wyłącznie do łączenia plików w jedno archiwum i sam nie kompresuje danych. Aby je skompresować, użyj gzip i utwórz 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ą tar z poziomu wiersza poleceń (polecenie „tar -xf file.tar”); archiwum możesz też rozpakować wizualnie w przeglądarce za pomocą File2File.app.