tar (anglická výslovnost [taː(r)]; akronymická zkratka z tape archiver, páskový archivovač) je souhrnný název jednak pro souborový formát sloužící k uložení mnoha jednotlivých souborů, jednak pro jednoúčelové programy, které s tímto formátem pracují. Formát samotný vznikl v počátcích Unixu a až později byl standardizován v rámci normy POSIX. Původně pomáhal při archivaci souborů na páskových jednotkách, ale později se jeho užívání rozšířilo a dnes je používán všude tam, kde je vhodné pro účely distribuce či archivace sloučit více souborů do jednoho tak, aby se zachovaly informace o adresářové struktuře, přístupových právech a dalších atributech, které běžně souborový systém obsahuje.
Klíčové implementace V minulosti byl tar implementován na mnoha systémech. Také mnohé archivační programy mají alespoň částečnou podporu formátu tar, používajíce jednu z níže uvedených implementací. Historii taru lze shrnout jako příběh nekompatibilit, známý jako tarové války ().
Klíčové implementace v chronologickém pořadí:
Solaris tar, založený na původním taru z UNIXu V7; v Solarisu je implicitní (default). star (unique standard tape archiver), napsán roku 1982 (autor Jörg Schilling) pod licencí CDDL. GNU tar je implicitní na většině distribucí Linuxu. Vychází z pdtaru vyvíjeného od roku 1987. Jeho současné verze si poradí s vícerem formátů (ustar, pax, GNU a v7). FreeBSD tar (též BSD tar) se stal implicitním v systémemech založených na BSD, tedy včetně macOSu. Umí automaticky detekovat formát souboru a extrahovat obsah archivů tar, pax, cpio, zip, jar, ar, xar, rpm a ISO 9660 CD-ROM image.
Navíc může většina implementací paxu číst i vytvářet mnoho typů souborů tar.
Struktura Formát ustar se skládá z 512bajtových bloků. První blok je vždy hlavička (angl. Header Block), která nese mimo jiné informaci o názvu a typu souboru (běžný soubor, adresář, symbolický odkaz, apod.) Původní formát ustar umožňuje uložit soubory s názvy až délky 255 znaků s tím, že celý název musí být rozdělitelný na 155znakový prefix a 100znakový krátký název. Pokud se jedná o běžný soubor, následuje ještě několik datových bloků. Protože velikost souboru nemusí být násobkem 512 bajtů, je poslední datový blok doplněn nulami. Bezprostředně poté následuje další hlavička a případný obsah souboru. Konec archivu je indikován dvěma nulovými bloky (blok se skládá pouze z nul). Všechny informace v hlavičce jsou uvedeny v textové podobě, přičemž čísla jsou vyjádřena v osmičkové soustavě.
název délka vysvětlení name 100 krátký název souboru mode 8 oprávnění uid 8 UID vlastníka gid 8 GID vlastníka size 12 velikost souboru v bajtech mtime 12 čas modifikace souboru chksum 8 kontrolní součet bloku s hlavičkou typeflag 1 typ souboru (adresář, běžný soubor, atd.) linkname 100 cíl odkazu (v případě, že se jedná o symbolický nebo pevný odkaz) magic 6 identifikátor verze archivu (např. ustar 00) version 2 uname 32 uživatelské jméno a skupina vlastníka gname 32 devmajor 8 hlavní a vedlejší číslo zařízení (v případě speciálního souboru) devminor 8 prefix 155 prefix názvu souboru padding 12 výplň do počátku dalšího bloku
Přípony archivů a komprese náhled|Ikona pro tar soubory v prostředí KDE Obvykle se pro tarové archivy používá přípona .tar. Velmi často jsou ovšem tyto soubory po zpracování tarem ještě předány kompresnímu programu, nejčastěji gzip, bzip2, compress či LZMA a pak se pro indikaci použitého kompresního programu používá dvojitá přípona, tedy například .tar.gz nebo .tar.bz2. Z doby používání souborového systému FAT16, kdy bylo možné používat jen jednu tříznakovou příponu, navíc přežívají zkrácené přípony, například .tgz, .taz či .tlz.
+Přehled přípon komprimovaných tarových archivů způsob komprese plná přípona zkrácená přípona Gzip .tar.gz.tgz bzip2 .tar.bz2.tbz i .tb2 compress .tar.Z .taz LZMA .tar.lzma.tlz xz .tar.xz.txz zstandard .tar.zst .tzst
Běžné verze programu tar (například BSD a GNU) mají přepínače -z (pro gzip) a -j (pro bzip2), při jejichž použití program sám provede hned po zabalení kompresi.
Od verze 1.31 programu GNU tar vydané v lednu 2019 je podporována komprese Zstandard (vyvinul ji Facebook). Lze ji použít přepínačem --zstd.
Reference
Externí odkazy
Kategorie:Software pro Unix Kategorie:Souborové formáty