Arhivă TAR (.tar)
POSIX.1-1988 StandardTape Archive (TAR) este un format de împachetare utilizat pe scară largă în Unix și Linux, care grupează fișiere, directoare și anumite metadate ale sistemului de fișiere într-un flux necomprimat.
Convertește din ZIP în TAR
Convertor gratuit din ZIP în TAR direct în browser. Convertește fișiere instantaneu pe dispozitivul tău.
Inspectare și metadate
Sistemele de operare și analizatoarele de fișiere identifică fișierele TAR prin inspectarea secvenței binare inițiale:
Semnătura antetului la nivel de octet (octeți magici)
Sistemele de operare și analizatoarele de fișiere identifică fișierele TAR prin inspectarea secvenței binare inițiale:
SEMNĂTURĂ HEXAZECIMALĂ (DECALAJ 257):
75 73 74 61 72REPREZENTARE ASCII: ustar
Standardizare: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)
Specificații tehnice
| Arhitectură container | Secvență de blocuri de 512 octeți: antet de fișier de 512 octeți, urmat de datele fișierului rotunjite la limita de 512 octeți și încheiată cu două blocuri zero |
| Compresie | Container de arhivă necomprimat (conceput pentru a fi trimis prin gzip, bzip2, xz sau zstd) |
| Ordinea octeților | Câmpuri text ASCII octale; extensii numerice big-endian |
| Spații de culoare | Nu se aplică (container de arhivă) |
| Canale și structură | Arbore de directoare și fișiere Unix, legături simbolice și fizice, dispozitive de caractere/blocuri și conducte FIFO |
| Dimensiuni maxime | Limită de 8 GB în ustar clasic; practic nelimitată în formatul PAX modern |
| Transparență | Stochează metadate selectate ale sistemului de fișiere, precum permisiuni și ID-uri de proprietar; atributele păstrate depind de formatul arhivei și implementare |
| Streaming și progresiv | Proiectat pentru flux secvențial: poate fi scris direct pe benzi magnetice |
Matrice de comparație tehnică: TAR vs. concurenți
| Atribut tehnic | TAR (Curent) | ZIP | 7Z | CPIO |
|---|---|---|---|---|
| Compresie nativă | Niciuna (container pur de împachetare) | Compresie Deflate încorporată | Compresie LZMA/LZMA2 încorporată | Niciuna (container pur de împachetare) |
| Păstrarea permisiunilor Unix | Atribute POSIX selectate, legături simbolice, UID/GID | Suport limitat pentru permisiuni Unix | Păstrează permisiunile de bază | Atribute POSIX selectate |
| Extragere în flux continuu | Extragere completă în flux din conducte | Necesită citirea directorului central la EOF | Necesită citirea antetului de sfârșit | Extragere completă în flux |
| Acces aleatoriu la fișiere | Lent (scanare secvențială liniară) | Instant (căutare în directorul central) | Moderat (căutare în index) | Lent (scanare secvențială liniară) |
Moduri comune de corupție și ghid de recuperare hexazecimală
Eroare de extragere: „tar: Skipping to next header" sau „A lone zero block at X".
Cauză principală: Aliniere deteriorată a blocurilor de 512 octeți sau terminare prematură a fluxului.
Recuperare: Extrage cu „tar -i” pentru a ignora blocurile deteriorate sau repară fișierul cu File2File.app Tar Tool.
Analiză de securitate și vectori de atac asupra parserului
Programele de extragere TAR trebuie să sanitizeze căile fișierelor pentru a preveni suprascrierile arbitrare de fișiere prin atacuri de parcurgere a directoarelor (directory traversal).
Vectori de atac cunoscuți
- Atac de tip „Slip” prin parcurgerea directoarelor (de exemplu, „../etc/passwd") care suprascrie fișiere de sistem critice în timpul extracției.
- Condiții de concurență pentru legături simbolice (symlink race conditions) care creează legături către directoare de sistem, urmate de scrieri de fișiere.
- Refuz de serviciu prin bucle circulare de legături fixe.
Cele mai bune practici de securitate: Curăță cu strictețe căile fișierelor din arhivă și respinge orice intrare care conține referințe la directorul părinte („..”).
Origini istorice și repere
Avantaje cheie și beneficii
- TAR poate înregistra permisiuni Unix, legături simbolice și ID-uri de proprietar. Verifică dacă programul de extragere restaurează aceste câmpuri, mai ales la dezarhivarea în Windows sau pe alt sistem cu reguli diferite pentru permisiuni.
- Design orientat spre bandă, cu flux continuu: poate fi extras direct dintr-o conductă de rețea fără a fi nevoie de căutarea sfârșitului fișierului.
- Managerii de pachete Linux și instrumentele pentru containere distribuie adesea fișiere în arhive TAR, comprimate frecvent ca .tar.gz sau .tar.zst.
Limitări tehnice și dezavantaje
- Fără compresie nativă: un fișier .tar necomprimat are aproximativ aceeași dimensiune cu fișierele brute combinate.
- Accesul aleatoriu este lent: extragerea unui singur fișier din mijlocul unei arhive mari necesită o scanare de la început.
- Anteturile ustar vechi truncheau numele de fișiere mai lungi de 100 de caractere (problemă rezolvată în versiunile moderne PAX/GNU tar).
Curiozități tehnice interesante
- Octeții magici „ustar" sunt plasați la offsetul 257 în interiorul fiecărui bloc de antet de 512 octeți.
- TAR a fost scris inițial pentru a controla fizic unitățile cu bandă magnetică pe bobine, cu 9 piste.
- Imaginile de containere Docker și OCI sunt, la propriu, seturi suprapuse de arhive standard .tar care conțin diferențele sistemului de fișiere rădăcină.
Întrebări tehnice frecvente
De ce fișierul meu .tar nu este comprimat?
TAR este doar un arhivator (grupează fișierele într-un singur fișier) și nu comprimă singur. Pentru a comprima arhiva, combină-l cu gzip pentru a crea un fișier .tar.gz.
Care este diferența dintre ustar și GNU tar?
Ustar este standardul POSIX din 1988 cu limite de 100 de caractere pentru numele fișierelor, în timp ce GNU tar este un format extins care acceptă lungimi nelimitate ale căilor și fișiere sparse.
Cum pot deschide un fișier .tar pe Windows?
Windows 10 și 11 acceptă tar nativ prin linia de comandă („tar -xf file.tar”) sau poți extrage arhiva vizual cu File2File.app, direct în browser.
Perechi de conversie TAR conexe
Conversia unei arhive ZIP într-o arhivă TAR transformă un container de fișiere comprimate într-un format de arhivă pe bandă necomprimată, adaptat pentru medii Unix.
Conversia unei arhive TAR în ZIP transformă un container Unix necomprimat într-un format comprimat, acceptat pe scară largă.
Conversia unei arhive TAR în GZIP împachetează o colecție de fișiere necomprimate într-un singur flux comprimat cu algoritmul DEFLATE fără pierderi, reducând dimensiunea fișierului.
Extrage date TAR dintr-o arhivă TAR comprimată cu GZIP, precum .tar.gz sau .tgz.