Archiwum TAR (.tar)
POSIX.1-1988 StandardTape 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 | Nieskompresowany 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 (kontener służący wyłącznie do pakowania plików) | Wbudowana kompresja Deflate | Wbudowana kompresja LZMA/LZMA2 | Brak (kontener służący wyłącznie do pakowania plików) |
| Zachowanie uprawnień systemu Unix | 100% atrybutów POSIX, dowiązania symboliczne, UID/GID | Ograniczone wsparcie dla uprawnień systemu Unix | Zachowuje podstawowe uprawnienia | 100% atrybutów POSIX |
| Rozpakowywanie ze strumienia | Pełne rozpakowywanie ze strumienia wejściowego | Wymaga odczytu katalogu centralnego na końcu pliku | Wymaga odczytu nagłówka końcowego | Pełne rozpakowywanie ze strumienia |
| Dostęp losowy 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 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
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.
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 do GZIP opakowuje nieskompresowany zbiór plików w jeden strumień skompresowany bezstratnym algorytmem DEFLATE, znacznie zmniejszając rozmiar pliku.
Wyodrębnij dane TAR z archiwum TAR skompresowanego GZIP, na przykład .tar.gz lub .tgz.