Tape Archive File

.tar · Archivy

TAR (tape archive, „páskový archiv“) spojí soubory a složky do jednoho souboru, ale nekomprimuje je. Ve světě Unixu a Linuxu je to standardní obal: zdrojové kódy programů, zálohy serverů, vrstvy obrazů Dockeru, exporty dat. Většina stahovaných TARů je navíc zkomprimovaná, odtud dvojité přípony .tar.gz, .tar.bz2, .tar.xz nebo zkratky .tgz, .tbz2, .txz. Čistý .tar potkáte u záloh a exportů ze zařízení nebo z webhostingu.

Historie

Program tar se objevil v Unixu verze 7 v roce 1979 a zapisoval archivy přímo na magnetickou pásku, odtud název. Formát standardizovala norma POSIX.1-1988 jako ustar a POSIX.1-2001 přidala rozšířený formát pax, který ruší staré limity délky názvu i velikosti souboru a ukládá názvy v UTF-8. GNU tar, verze ve většině linuxových systémů, má vlastní rozšíření (dlouhé názvy, přírůstkové zálohy) a umí číst i zapisovat pax. Páskové mechaniky jsou dnes vzácné, formát ale zůstal, protože unixové soubory popisuje úplně.

Jak TAR funguje

Soubor TAR je řada bloků po 512 bajtech. Každý soubor má hlavičku s názvem, velikostí, právy, vlastníkem, skupinou a časem změny, za ní následují data zarovnaná na násobek 512 bajtů. Konec označují dva prázdné bloky. Centrální obsah chybí: aby program archiv vypsal, musí ho přečíst od začátku do konce.

  • Bez vlastní komprese. Je to záměr: TAR balí, komprimuje externí nástroj, například gzip, bzip2, xz nebo zstd. Protože se celý archiv komprimuje jako jeden proud, bývá tar.xz s mnoha podobnými soubory výrazně menší než ZIP.
  • Úplná unixová metadata: práva včetně příznaku spustitelnosti, vlastníci, symbolické i pevné odkazy, soubory zařízení. Proto zálohy systému a softwarové balíčky používají TAR, a ne ZIP.
  • Limity názvů: starý formát dovoluje 100 bajtů na cestu, ustar až 256, pax prakticky neomezeně. Velmi staré nástroje mohou dlouhé cesty oříznout.

Čím TAR otevřít

Windows 10 a 11 obsahují příkaz tar (od roku 2018): tar -xf archiv.tar v příkazovém řádku archiv rozbalí, i když jde o .tar.gz. Windows 11 od verze 23H2 otevře TAR, tar.gz i tar.xz v Průzkumníku a od verze 24H2 umí TAR i vytvořit. 7-Zip funguje v jakýchkoli Windows, u .tar.gz nejdřív ukáže vnitřní .tar. macOS: dvojklik ve Finderu nebo tar -xf v Terminálu. Linux: tar -xf archiv.tar, výpis obsahu tar -tvf.

Časté problémy

„tar: This does not look like a tar archive“

Soubor je zkomprimovaný nebo neúplný. Skutečný typ ukáže file archiv.tar. Soubor s příponou .tar, který je ve skutečnosti zkomprimovaný gzipem, rozbalí současný GNU tar s -xf sám, starší verze potřebují -xzf.

Rozbalený program v Linuxu nejde spustit, „Permission denied“

Archiv se cestou přebalil přes ZIP nebo windowsový nástroj a ztratil příznak spustitelnosti. Pomůže chmod +x na daný soubor, nebo si vyžádejte původní TAR.

Příliš dlouhé názvy souborů ve Windows

Linuxové cesty mohou být delší než klasický windowsový limit 260 znaků. Rozbalte archiv blíž ke kořeni disku (třeba do C:\x) nebo ve Windows zapněte dlouhé cesty.

Varování o vlastníkovi při rozbalování pod rootem

Pod rootem tar obnovuje uložené vlastníky. Pokud to nechcete, přidejte --no-same-owner.

Převod TAR do jiného formátu

Typické důvody: TAR do ZIP pro někoho s Windows nebo v mobilu, TAR do tar.gz, tar.xz nebo 7z kvůli místu, protože čistý TAR není vůbec komprimovaný. Náš převodník archiv rozbalí a obsah zabalí znovu, obsah souborů zůstane beze změny. Co se nezachová: vlastníci a skupiny (nahradí je uživatel převodníku), v ZIPu také prázdné složky, a symbolické odkazy ani práva nejsou zaručené. Systémové zálohy proto nechte v TARu a komprimujte je vlastními nástroji. Limity jsou 100 MB na nahraný soubor a 2 GB rozbalených dat. Do formátu RAR nepřevádíme.

TAR v kostce
PůvodBell Labs, Unix verze 7
První verze1979
NormaPOSIX.1-1988 (ustar), POSIX.1-2001 (pax)
Typnekomprimovaný archiv (kontejner)
Kompresežádná; externě gzip, bzip2, xz, zstd
Typ MIMEapplication/x-tar
Typické použitísoftware pro Linux, zálohy, exporty dat

Více (anglicky): rodina formátů tar v Library of Congress a příručka GNU tar.

Formát TAR umíme převést do

Archivy

ZIP 7ZGZISOXZAPK ARJBR BZ BZ2CPIOJARLZLZ4LZMATBZ2TGZTXZTZSTWARXARXPIZZST