Archivio TAR (.tar)

POSIX.1-1988 Standard

Tape Archive (TAR) è un formato di archiviazione ampiamente usato su Unix e Linux. Raggruppa file, directory e metadati selezionati del file system in un flusso non compresso.

Converti da ZIP a TAR

Convertitore gratuito da ZIP a TAR nel browser. Converti i file istantaneamente sul tuo dispositivo.

Ispezione e metadati

I sistemi operativi e gli analizzatori di file identificano i file TAR ispezionando la sequenza di byte binari iniziale:

Seleziona o rilascia i file qui

Privato - i file non lasciano mai il tuo dispositivo

o incolla Ctrl+V
Garanzia di privacy con zero trasmissioni di rete: 0 byte caricati su server esterni. Tutta l'elaborazione è avvenuta localmente nella sandbox del tuo browser.

Firma dell'intestazione a livello di byte (Magic Bytes)

I sistemi operativi e gli analizzatori di file identificano i file TAR ispezionando la sequenza di byte binari iniziale:

FIRMA ESADECIMALE (OFFSET 257):

75 73 74 61 72

RAPPRESENTAZIONE ASCII: ustar

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

Specifiche tecniche

Architettura del contenitoreSequenza di blocchi da 512 byte: un'intestazione di file da 512 byte seguita dai dati del file arrotondati a multipli di 512 byte, che termina con due blocchi di zeri
CompressioneContenitore di archivio non compresso (progettato per inviare i dati tramite una pipe a gzip, bzip2, xz o zstd)
Endianness dei byteCampi stringa ASCII in ottale; estensioni numeriche big-endian
Spazi coloreN/A (Contenitore di archiviazione)
Canali e strutturaAlbero delle directory di file Unix, collegamenti simbolici, collegamenti fisici, dispositivi a caratteri o a blocchi e pipe FIFO
Dimensioni massimeLimite di 8 GB nel formato ustar classico; praticamente illimitato nel moderno formato PAX
TrasparenzaConservazione completa dei permessi dei file POSIX, dell'UID/GID del proprietario, dei tempi di accesso e degli attributi estesi
Streaming e progressivoDesign orientato ai flussi sequenziali: può essere scritto direttamente su unità a nastro magnetico fisiche

Matrice di confronto tecnico: TAR vs Concorrenti

Attributo tecnicoTAR (Attuale)ZIP7ZCPIO
Compressione nativaNessuna (semplice contenitore di archiviazione)Compressione Deflate integrataCompressione LZMA/LZMA2 integrataNessuna (semplice contenitore di archiviazione)
Conservazione dei permessi UnixAttributi POSIX selezionati, collegamenti simbolici, UID/GIDSupporto limitato dei permessi UnixConserva i permessi di baseAttributi POSIX selezionati
Estrazione in streamingEstrazione completamente in streaming da pipeRichiede la lettura della directory centrale a fine fileRichiede la lettura dell'intestazione finaleEstrazione completamente in streaming
Accesso casuale ai fileLento (scansione sequenziale lineare)Istantaneo (ricerca nella directory centrale)Moderato (ricerca tramite indice)Lento (scansione sequenziale lineare)

Modalità di corruzione comuni e guida al recupero esadecimale

Errore di estrazione: 'tar: Skipping to next header' o 'A lone zero block at X'.

Causa principale: Allineamento del blocco da 512 byte danneggiato o interruzione prematura del flusso.

Ripristino: Estrarre con 'tar -i' per ignorare i blocchi danneggiati o riparare con lo strumento Tar di File2File.app.

Analisi di sicurezza e vettori di attacco del parser

Gli estrattori TAR devono ripulire i percorsi dei file per impedire che attacchi di attraversamento delle directory sovrascrivano file arbitrari.

Vettori di attacco noti

  • Attacchi di attraversamento delle directory di tipo 'Slip' (es. '../etc/passwd') che sovrascrivono file di sistema critici durante l'estrazione.
  • Condizioni di competizione tra operazioni sui collegamenti simbolici (symlink race conditions) che creano collegamenti a directory di sistema seguiti da scritture di file.
  • Attacco di negazione del servizio tramite cicli di collegamenti fisici circolari.

Migliori pratiche difensive: Sanificare rigorosamente i percorsi dei file dell'archivio e rifiutare qualsiasi voce contenente riferimenti alla directory genitrice ('..').

Origini storiche e tappe fondamentali

2001IEEE POSIX.1-2001 introduce lo standard PAX (Portable Archive Interchange), superando i vecchi limiti di dimensione di 8 GB.
1988IEEE POSIX standardizza il formato di intestazione 'ustar' (Unix Standard Tar).
1979Introdotto nella Versione 7 di Unix (V7) dai Bell Labs per scrivere alberi di file su unità a nastro magnetico.

Vantaggi principali

  • TAR può registrare i permessi Unix, i collegamenti simbolici e gli ID dei proprietari. Verifica se l’estrattore ripristina questi campi, soprattutto quando estrai su Windows o su un sistema con regole di autorizzazione diverse.
  • Design orientato ai flussi su nastro: può essere estratto direttamente da una pipe di rete senza dover cercare la fine del file.
  • I gestori di pacchetti Linux e gli strumenti per container distribuiscono spesso file in archivi TAR, comunemente compressi come .tar.gz o .tar.zst.

Limiti tecnici e svantaggi

  • Nessuna compressione nativa: un file .tar non compresso ha circa la stessa dimensione dei file grezzi combinati.
  • L'accesso casuale è lento: l'estrazione di un singolo file dal centro di un archivio di grandi dimensioni richiede la scansione dall'inizio.
  • Le vecchie intestazioni ustar troncavano i nomi dei file più lunghi di 100 caratteri (limite risolto nei moderni formati PAX e GNU tar).

Curiosità tecniche

  • I byte magici 'ustar' si trovano all'offset di byte 257 all'interno di ogni blocco di intestazione di 512 byte.
  • TAR è stato originariamente scritto per controllare fisicamente unità a nastro a bobina aperta a 9 tracce.
  • Le immagini dei container Docker e OCI sono letteralmente insiemi di archivi .tar standard sovrapposti, contenenti le differenze rispetto al file system radice.

Domande tecniche frequenti

Perché il mio file .tar non è compresso?

TAR è solo un programma di archiviazione: raggruppa i file in un unico file ma non li comprime. Per comprimerlo, abbinalo a gzip e crea un file .tar.gz.

Qual è la differenza tra ustar e GNU tar?

Ustar è lo standard POSIX del 1988 con limiti sui nomi di file di 100 caratteri, mentre GNU tar è un formato esteso che supporta lunghezze di percorso illimitate e file sparsi.

Come posso aprire un file .tar su Windows?

Windows 10 e 11 supportano tar nativamente tramite la riga di comando ('tar -xf file.tar'), oppure puoi estrarlo visivamente usando File2File.app direttamente nel tuo browser web.