Arhivă TAR (.tar)

POSIX.1-1988 Standard

Tape 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:

Selectează sau plasează fișierele aici

Privat - fișierele nu părăsesc niciodată dispozitivul tău

sau lipește Ctrl+V
Garanție de confidențialitate: nicio transmisie prin rețea: 0 octeți încărcați pe servere externe. Toată procesarea a avut loc local în sandbox-ul browserului tău.

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 72

REPREZENTARE ASCII: ustar

Standardizare: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)

Specificații tehnice

Arhitectură containerSecvență 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
CompresieContainer de arhivă necomprimat (conceput pentru a fi trimis prin gzip, bzip2, xz sau zstd)
Ordinea octețilorCâmpuri text ASCII octale; extensii numerice big-endian
Spații de culoareNu 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 maximeLimită 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 progresivProiectat pentru flux secvențial: poate fi scris direct pe benzi magnetice

Matrice de comparație tehnică: TAR vs. concurenți

Atribut tehnicTAR (Curent)ZIP7ZCPIO
Compresie nativăNiciuna (container pur de împachetare)Compresie Deflate încorporatăCompresie LZMA/LZMA2 încorporatăNiciuna (container pur de împachetare)
Păstrarea permisiunilor UnixAtribute POSIX selectate, legături simbolice, UID/GIDSuport limitat pentru permisiuni UnixPăstrează permisiunile de bazăAtribute POSIX selectate
Extragere în flux continuuExtragere completă în flux din conducteNecesită citirea directorului central la EOFNecesită citirea antetului de sfârșitExtragere completă în flux
Acces aleatoriu la fișiereLent (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

2001IEEE POSIX.1-2001 introduce standardul PAX (Portable Archive Interchange), eliminând limitele vechi de 8 GB privind dimensiunea.
1988IEEE POSIX standardizează formatul de antet „ustar” (Unix Standard Tar).
1979Este introdus în Unix versiunea 7 (V7) de către Bell Labs pentru a scrie arbori de fișiere pe unități cu bandă magnetică.

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.