Vai al contenuto

tar (software)

Da Wikipedia, l'enciclopedia libera.
Versione del 12 gen 2025 alle 18:07 di Giuseppe Masino (discussione | contributi) (Esempi di utilizzo e sintassi: Rimossa sezione dall'impostazione tutorialistica e inutile)
tar
software
Utilizzo di GNU tar
Utilizzo di GNU tar
Utilizzo di GNU tar
GenereArchiviatore di file
SviluppatoreBell Labs
Data prima versionegennaio 1979
Sistema operativoUnix-like
Microsoft Windows
LinguaggioC
tar
Estensione.tar
Tipo MIMEapplication/x-tar
Uniform Type Identifier (UTI)public.tar-archive
Tipoarchiviazione
StandardPOSIX.1-1998, POSIX.1-2001
Formato aperto?

tar (acronimo di tape archiver) è una famiglia di formati di file archivio non compressi e relativo software, ideati inizialmente per il backup su nastro magnetico ma usati in pratica come strumento di archiviazione generico.[1] I file gestiti dal programma tar vengono tipicamente denominati tarball e portano l'estensione .tar.[2]

Il programma tar è stato parte dello standard POSIX nelle edizioni 1998 e 2001, venendo successivamente sostituito da pax.[3] Nonostante ciò tar rimane tuttora ampiamente in uso.

Caratteristiche

Oltre a poter immagazzinare più file dentro un unico archivio (packing), tar permette di conservare diverse informazioni del file system, quali utente, gruppo e permessi, data e ora, e la struttura delle directory. Secondo la tradizione Unix "ogni programma, una sola funzione", tar non supporta direttamente la compressione dati.

Poiché tar è stato sviluppato in origine per l'uso con dispositivi ad accesso sequenziale, quali appunto le unità a nastro, le prestazioni per quanto riguarda l'estrazione di un singolo file non sono le migliori, dato che il software deve leggere l'intero archivio per localizzarlo. L'opzione -f indica il file da utilizzare per le operazioni di scrittura o rilettura dell'archivio. Comunemente, un file prodotto da tar viene denominato tarball.

tar è comunemente utilizzato in unione con un'utility esterna di compressione dati, ad esempio gzip, bzip2 o compress (non più in uso), dal momento che da solo non ha la capacità di comprimere i file. Si potrebbe pensare che ciò richieda più passaggi: di fatto non è così, poiché l'operatore pipe di Unix permette di combinare i due passaggi in un solo comando, utilizzando un'unica riga di comando. Inoltre, la versione GNU di tar supporta le opzioni a riga di comando -z (gzip), -j (bzip2), e -Z (compress), che abilitano la compressione per il file che viene creato.

Dettagli sul formato file

Una limitazione dei primi drive a nastro era che i dati potevano essere scritti solo in blocchi da 512 byte. Un file tar è la concatenazione di uno o più file, ognuno di essi preceduti da un'intestazione. Il file viene trascritto inalterato tranne la sua lunghezza: viene arrotondato ai multipli di 512 byte, lo spazio che avanza viene riempito con zeri (0x00). La fine del file viene contrassegnata con almeno due blocchi vuoti (quindi 1 KB).

L'intestazione viene codificata in ASCII per aumentare la portabilità dei file: spostare un file tar da una piattaforma con un certo sistema di ordinamento dei byte ad un'altra con diverso ordinamento creerebbe problemi.

Nella tabella seguente sono elencati i campi definiti dal formato tar originale. Quando un campo non viene usato è riempito con una serie di zero. L'intestazione è discostata con dei byte di zero per formare i blocchi da 512.

Offset campo Dimensione Nome
0 100 Nome del file
100 8 Modo file
108 8 ID utente proprietario
116 8 ID utente gruppo
124 12 Dimensione file in byte (in base ottale)
136 12 Data ultima modifica
148 8 Checksum del blocco intestazione
156 1 Indicatore link
157 100 Nome del file collegato

Estensioni

  • .tar
  • .tar.gz oppure .tgz (quando compresso con gzip)
  • .tar.bz2, .tbz2, oppure .tbz (quando compresso con bzip2)
  • .tar.lzma (quando compresso con lzma)
  • .tar.xz (quando compresso con xz)
  • .tar.Z (quando compresso con compress)
  • .tar.7z (quando compresso con 7-Zip)

Tipo MIME

Il tipo MIME associato a tar è application/x-tar.

Note

  1. ^ (EN) The TAR File Format, su fileformat.info. URL consultato il 4 ottobre 2023.
  2. ^ (EN) TarBall, su wiki.debian.org. URL consultato il 4 ottobre 2023.
  3. ^ (EN) tar — format of tape archive files, su manpages.ubuntu.com. URL consultato il 2025-01_12.

Bibliografia

  • (EN) W. Curtis Preston, Backing Up and Restoring with the tar Utility, in Unix Backup and Recovery, O'Reilly Media, 1999, ISBN 9781565926424.

Voci correlate

Collegamenti esterni