Co to jest format pliku TAR?
.tar to rozszerzenie pliku dla standardowego formatu Unix Tape Archive, nazywanego również „tarballem”. Pliki TAR są obsługiwane przez praktycznie wszystkie nowoczesne systemy operacyjne. Sam TAR nie kompresuje danych - łączy wiele plików i katalogów w jedno archiwum, zachowując uprawnienia plików Unix, własność, dowiązania symboliczne i znaczniki czasu, co jest głównym powodem, dla którego pozostaje preferowanym kontenerem w systemach Linux i Unix.
Archiwa TAR są powszechnie łączone z warstwą kompresji. Najpopularniejsza kombinacja wykorzystuje gzip, tworząc pliki .tar.gz (często zapisywane jako nazwa_pliku.tar.gz lub skracane do .tgz). Inne popularne warianty warstwowe to .tar.bz2 i .tar.xz. Większość nowoczesnych narzędzi do archiwizacji automatycznie obsługuje dekompresję i rozpakowywanie jednocześnie.
Format powstał w 1979 roku jako część Version 7 Unix i od tego czasu został ustandaryzowany przez POSIX jako formaty ustar (1988) i pax (2001). Wewnętrznie plik .tar jest sekwencją 512-bajtowych bloków: każdy element zaczyna się od bloku nagłówka zawierającego nazwę pliku, uprawnienia, rozmiar i sumę kontrolną, po których następują dane pliku uzupełnione do granicy 512 bajtów. Dwa bloki wypełnione zerami oznaczają koniec archiwum. Ponieważ nie dodaje narzutu związaniego z kompresją, TAR pakuje i rozpakowuje dane szybko, a większość narzędzi skanujących archiwa radzi sobie z plikami .tar bez trudności.
Bezpieczeństwo
RYZYKO: LOWFormat TAR jest otwarty, a plik .tar nie może sam się uruchomić. Obowiązują standardowe zasady ostrożności dotyczące archiwów: tarball z niezaufanego źródła może zawierać skrypty lub pliki wykonywalne ujawnione dopiero po wypakowaniu, więc należy przeskanować zawartość przed uruchomieniem czegokolwiek. Dwie uwagi specyficzne dla tar: złośliwy plik tar może zawierać „../” lub ścieżki absolutne (klasyczny atak „tar slip” / path-traversal, który zapisuje pliki poza folderem docelowym) - wypakowuj niezaufane tarballe do pustego katalogu i używaj nowoczesnego dekompresora, który usuwa wiodące ukośniki; skompresowany .tar.gz może być również „bombą dekompresyjną”, która rozszerza się do ogromnych rozmiarów, więc należy uważać na podejrzanie małe archiwa.
Szczegóły formatu
w pigułceProgramy otwierające pliki TAR
tar -xf file.tar (lub tar -xzf file.tar.gz). bsdtar jest dostarczany z systemem Windows od kompilacji 17063 (2018). tar -xf file.tar aby wypakować, tar -xzf file.tar.gz dla tarballa gzip, tar -cf out.tar dir/ aby utworzyć. Preinstalowany w każdym systemie Linux/Unix. Szczegóły techniczne
specyfikacja| Typ MIME | application/x-tar (również application/x-gtar) |
| Struktura pliku | Sekwencyjne bloki 512-bajtowe; każdy element posiada 512-bajtowy nagłówek, po którym następują dane pliku uzupełnione do granicy 512 bajtów |
| Warianty formatu | v7 (1979, oryginał), POSIX ustar (1988), GNU tar, POSIX pax (2001) - różnią się obsługą długich nazw, dużych plików i znaczników czasu |
| Kompresja | Brak - .tar jest nieskompresowany; kompresja dodawana przez warstwę zewnętrzną (.tar.gz, .tar.bz2, .tar.xz, .tar.zst) |
| Magiczne bajty | Ciąg ASCII „ustar” na offsecie 257 w 512-bajtowym nagłówku; brak w archiwach sprzed POSIX v7, które są identyfikowane przez heurystykę sumy kontrolnej nagłówka |
| Suma kontrolna nagłówka | 8-bajtowa ósemkowa suma kontrolna ASCII dla każdego elementu, obejmująca 512-bajtowy blok nagłówka; brak sumy kontrolnej lub sygnatury dla całego archiwum |
| Kodowanie pól numerycznych | Ósemkowe ciągi ASCII (nie binarne liczby całkowite); pax i GNU tar używają kodowania base-256 dla wartości przekraczających zakres ósemkowy |
| Znacznik końca archiwum | Dwa kolejne 512-bajtowe bloki wypełnione zerami (null) na końcu archiwum |
| Długość nazwy pliku | 100 bajtów w v7; 255 bajtów z polem prefiksu ustar; nieograniczona poprzez rozszerzone nagłówki pax lub rekordy GNU long-name |
| Limit rozmiaru pojedynczego pliku | Do ok. 8 GB przy standardowym ósemkowym kodowaniu ASCII; praktycznie nieograniczony w formacie pax lub kodowaniu GNU base-256 |
| Zachowywane metadane | Uprawnienia Unix (bity trybu), własność UID/GID, znaczniki czasu modyfikacji, dowiązania symboliczne, dowiązania twarde, pliki urządzeń i pliki specjalne |
| Szyfrowanie | Brak wbudowanego; szyfrowanie stosowane przez zewnętrzny kontener, taki jak gpg |
| Typowe rozszerzenia warstwowe | .tar.gz / .tgz, .tar.bz2 / .tbz2, .tar.xz / .txz, .tar.zst |
| Obsługa platform | Natywna w systemach Linux, Unix, BSD i macOS; dostępna w Windows 10 i 11 poprzez wbudowany tar.exe oraz narzędzia firm trzecich, takie jak 7-Zip |
| Wydano | 1979 (Version 7 Unix); standardized as POSIX ustar (1988) and pax (2001) |
| Najnowsza wersja | POSIX.1-2001 pax format; GNU tar and bsdtar (libarchive) extensions in active use |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | pubs.opengroup.org |
Konwersje TAR
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki TAR.
Najczęściej zadawane pytania
Jak otworzyć plik TAR?
tar -xf file.tar (lub po prostu kliknij dwukrotnie w macOS). W systemie Windows użyj wbudowanego polecenia tar -xf file.tar lub darmowych programów 7-Zip/PeaZip (Prawy przycisk myszy > Wypakuj). Dla .tar.gz użyj tar -xzf file.tar.gz.Jaka jest różnica między .tar a .tar.gz?
Jak otworzyć plik TAR w systemie Windows?
tar - uruchom tar -xf file.tar w terminalu. W przypadku interfejsu graficznego zainstaluj darmowy 7-Zip lub PeaZip i wybierz Prawy przycisk myszy > Wypakuj. W przypadku .tar.gz może być konieczne dwukrotne wypakowanie (najpierw gz, potem tar).Czy TAR kompresuje pliki?
Dlaczego mój plik .tar.gz wymaga dwukrotnego wypakowania?
tar -xzf, PeaZip, Keka); inne najpierw usuwają warstwę gzip (pozostawiając .tar) i wymagają drugiego wypakowania.Czy mogę utworzyć plik TAR za darmo?
tar jest wbudowane w systemy Linux i macOS, a Windows 10/11 również je posiada. Darmowe narzędzia graficzne 7-Zip, PeaZip i Keka również tworzą pliki .tar i .tar.gz.