Archiv TAR (.tar)
POSIX.1-1988 StandardníTape Archive (TAR) je všudypřítomný formát pro balení souborů v systémech Unix a Linux, který slučuje více souborů, adresářů a metadat souborového systému do jednoho nekomprimovaného proudu navrženého pro zálohování na magnetickou pásku a distribuci softwaru.
Převést ZIP na TAR
Bezplatný konvertor z ZIP do TAR v prohlížeči. Převeďte soubory okamžitě ve svém zařízení.
Kontrola a metadata
Operační systémy a analyzátory souborů identifikují soubory TAR kontrolou počáteční binární sekvence bajtů:
Podpis hlavičky na úrovni bajtů (Magic Bytes)
Operační systémy a analyzátory souborů identifikují soubory TAR kontrolou počáteční binární sekvence bajtů:
HEXADECIMÁLNÍ PODPIS (POSUN 257):
75 73 74 61 72ASCII REPREZENTACE: ustar
Standardizace: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)
Technické specifikace
| Architektura kontejneru | Sekvence 512bajtových bloků: 512bajtová hlavička souboru, za ní data zaokrouhlená na 512 bajtů a na konci dva nulové bloky |
| Komprese | Nekomprimovaný archivní kontejner (určený k předání do gzipu, bzip2, xz nebo zstd) |
| Pořadí bajtů | Řetězcová pole v osmičkové soustavě; číselná rozšíření v pořadí big-endian |
| Barevné prostory | Nevztahuje se (archivní kontejner) |
| Kanály a struktura | Strom souborů Unixu, symbolické a pevné odkazy, znaková a bloková zařízení a pojmenované roury FIFO |
| Max. rozměry | Limit 8 GB v klasickém ustar; v moderním formátu PAX prakticky neomezená velikost |
| Průhlednost | Ukládá vybraná metadata souborového systému, například oprávnění a ID vlastníka; zachovaná metadata závisejí na formátu archivu a jeho implementaci. |
| Streamování a progresivní načítání | Sekvenční návrh pro zpracování proudů: lze zapisovat přímo na fyzickou magnetickou pásku |
Technická srovnávací matice: TAR vs konkurence
| Technický atribut | TAR (Aktuální) | ZIP | 7Z | CPIO |
|---|---|---|---|---|
| Nativní komprese | Žádná (čistý balicí kontejner) | Vestavěná komprese Deflate | Vestavěná komprese LZMA/LZMA2 | Žádná (čistý balicí kontejner) |
| Zachování oprávnění Unix | Vybrané atributy POSIX, symbolické odkazy, UID/GID | Omezená podpora oprávnění Unix | Zachovává základní oprávnění | Vybraná metadata POSIX podporovaná extraktorem |
| Proudová extrakce (Streaming) | Plně proudová extrakce z rour (pipe) | Vyžaduje čtení centrálního adresáře na EOF | Vyžaduje čtení koncové hlavičky | Plně proudová extrakce |
| Náhodný přístup k souborům | Pomalé (lineární sekvenční procházení) | Okamžitý (vyhledávání v centrálním adresáři) | Mírný (vyhledávání v indexu) | Pomalý (lineární sekvenční procházení) |
Běžné režimy poškození a příručka pro obnovení v hex
Chyba extrakce: 'tar: Skipping to next header' nebo 'A lone zero block at X'.
Hlavní příčina: Poškozené zarovnání 512bajtových bloků nebo předčasné ukončení proudu.
Obnovení: Extrahujte pomocí 'tar -i' pro ignorování poškozených bloků nebo opravte pomocí nástroje File2File.app Tar Tool.
Bezpečnostní analýza a vektory útoků na parser
Extrahovače formátu TAR musí dezinfikovat cesty k souborům, aby zabránily přepsání libovolných souborů útoky typu directory traversal.
Známé vektory útoků
- Průchod adresáři typu 'Slip' (např. '../etc/passwd') přepisující kritické systémové soubory během extrakce.
- Časové podmínky (race conditions) symbolických odkazů vytvářející symbolické odkazy na systémové adresáře následované zápisem souborů.
- Odepření služby (DoS) prostřednictvím smyček s kruhovými pevnými odkazy.
Doporučené bezpečnostní postupy: Důsledně sanitujte cesty k souborům v archivu a odmítněte jakoukoli položku obsahující odkazy na nadřazený adresář ('..').
Historický vývoj a milníky
Klíčové výhody a přednosti
- TAR dokáže zaznamenat oprávnění Unixu, symbolické odkazy a ID vlastníka. Ověřte, zda je nástroj pro extrakci také obnoví, zejména při rozbalování ve Windows nebo v jiném systému s odlišnými pravidly oprávnění.
- Návrh zaměřený na proudové zpracování (streaming): lze rozbalit přímo ze síťové roury (pipe) bez nutnosti vyhledávání na konci souboru.
- Správci balíčků Linuxu a nástroje pro kontejnery často distribuují soubory v archivech TAR, obvykle komprimovaných jako .tar.gz nebo .tar.zst.
Technická omezení a nevýhody
- Žádná nativní komprese: nekomprimovaný soubor .tar má přibližně stejnou velikost jako celková velikost nezabalených souborů.
- Náhodný přístup je pomalý: extrakce jednoho souboru uprostřed obrovského archivního souboru vyžaduje procházení archivu od začátku.
- Starší hlavičky ustar ořezávaly názvy souborů delší než 100 znaků (vyřešeno v moderním formátu PAX/GNU tar).
Zajímavé technické drobnosti
- Magické bajty 'ustar' se nacházejí na pozici bajtu 257 uvnitř každého 512bajtového bloku hlavičky.
- Formát TAR byl původně navržen pro fyzické ovládání 9stopých magnetických páskových jednotek s cívkami.
- Obrazy kontejnerů Docker a OCI jsou doslova vrstvené sady standardních archivů .tar obsahující rozdíly kořenového souborového systému.
Často kladené technické otázky
Proč není můj soubor .tar komprimován?
TAR je pouze archivátor (sdružuje soubory do jednoho souboru) a sám o sobě nekomprimuje. Chcete-li jej zkomprimovat, spárujte jej s gzipem a vytvořte soubor .tar.gz.
Jaký je rozdíl mezi ustar a GNU tar?
Ustar je standard POSIX z roku 1988 s limitem 100 znaků pro názvy souborů, zatímco GNU tar je rozšířený formát podporující neomezenou délku cest a řídké soubory (sparse files).
Jak mohu otevřít soubor .tar ve Windows?
Windows 10 a 11 podporují tar nativně prostřednictvím příkazového řádku („tar -xf file.tar“) nebo jej můžete vizuálně rozbalit pomocí aplikace File2File.app přímo ve vašem webovém prohlížeči.
Související konverzní páry pro TAR
Konverze archivu ZIP do archivu TAR přeměňuje komprimovaný souborový kontejner na nekomprimovaný formát páskového archivu vhodný pro unixová prostředí.
Konverze archivu TAR do archivu ZIP přeměňuje nekomprimovaný unixový kontejner na univerzálně přístupný komprimovaný formát souborů.
Konverze archivu TAR na archiv GZIP zabalí nekomprimovanou kolekci souborů do jediného komprimovaného proudu pomocí bezztrátového algoritmu DEFLATE k výraznému zmenšení velikosti souboru.
Extrahujte data TAR z archivu TAR komprimovaného pomocí GZIP, například .tar.gz nebo .tgz.