Archiwum TAR (.tar)
POSIX.1-1988 StandardowyTape 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:
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 72REPREZENTACJA ASCII: ustar
Normalizacja: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)
Specyfikacja techniczna
| Architektura kontenera | Sekwencja 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 |
| Kompresja | Neskondensowany 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ów | Nie dotyczy (Kontener archiwum) |
| Kanały i struktura | Drzewo katalogów plików systemu Unix, powiązania symboliczne (symlinki), powiązania twarde (hardlinki), urządzenia znakowe i blokowe oraz łącza nazwane FIFO |
| Maks. wymiary | Limit 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 ładowanie | Sekwencyjna konstrukcja zorientowana strumieniowo: możliwość bezpośredniego zapisu na fizycznych napędach taśmowych |
Techniczna macierz porównawcza: TAR a konkurencja
| Atrybut techniczny | TAR (Bieżący) | ZIP | 7Z | CPIO |
|---|---|---|---|---|
| Wbudowana kompresja | Brak (czysty kontener pakujący) | Wbudowana kompresja Deflate | Wbudowana kompresja LZMA/LZMA2 | Brak (czysty kontener pakujący) |
| Zachowanie uprawnień systemu Unix | 100% atrybutów POSIX, symlinki, UID/GID | Ograniczone wsparcie dla uprawnień systemu Unix | Zachowuje podstawowe uprawnienia | 100% atrybutów POSIX |
| Ekstrakcja strumieniowa | Pełna ekstrakcja strumieniowa ze strumieni | Wymaga odczytu katalogu centralnego na końcu pliku | Wymaga odczytu nagłówka końcowego | Pełna ekstrakcja strumieniowa |
| Dostęp swobodny do plików | Powolny (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
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.
Powiązane pary konwersji TAR
Konwersja archiwum ZIP do formatu TAR przekształca skompresowany kontener plików w nieskompresowany format archiwum taśmowego przeznaczony dla środowisk uniksowych.
Konwersja archiwum TAR do formatu ZIP przekształca nieskompresowany kontener uniksowy w ogólnodostępny, skompresowany format pliku.
Konwersja archiwum TAR na archiwum GZIP łączy nieskompresowaną kolekcję plików w jeden strumień kompresowany za pomocą bezstratnego algorytmu DEFLATE w celu drastycznego zmniejszenia rozmiaru pliku.
Konwersja pliku skompresowanego w formacie GZIP na archiwum TAR usuwa warstwę kompresji, aby odsłonić surową, nieskompresowaną kolekcję plików i folderów.