Indice
tar (software)
tar software | |
---|---|
Utilizzo di GNU tar | |
Genere | Archiviatore di file |
Sviluppatore | Bell Labs |
Data prima versione | gennaio 1979 |
Sistema operativo | Unix-like Microsoft Windows |
Linguaggio | C |
tar | |
---|---|
Estensione | .tar
|
Tipo MIME | application/x-tar
|
Uniform Type Identifier (UTI) | public.tar-archive
|
Tipo | archiviazione |
Standard | POSIX.1-1998, POSIX.1-2001 |
Formato aperto? | Sì |
In informatica, tar è una famiglia di formati di file archivio non compressi e relativo software, usati per scopi di distribuzione o backup.
Il nome è una contrazione dell'inglese tape archive (lett. "archivio su nastro" in italiano), poiché erano stati inizialmente concepiti per la scrittura di dati su dispositivi di archiviazione a I/O sequenziale senza file system, come i nastri magnetici.[1] Per lo stesso motivo gli archivi gestiti da tar (denominati tarball) allegano ai file vari parametri ripresi dal file system, come nome, marche temporali, proprietario, permessi di accesso e organizzazione della directory.[2]
Il programma tar è stato parte dello standard POSIX nelle edizioni 1998 e 2001, venendo successivamente abbandonato in favore di pax. Nonostante ciò tar rimane tuttora ampiamente in uso.[3]
Storia
[modifica | modifica wikitesto]Il programma tar
è stato introdotto per la prima volta nella settima edizione di Unix nel gennaio 1979, rimpiazzando il programma tp
(che a sua volta rimpiazzò tap
).[4]
Il formato tar venne fissato nello standard POSIX.1-1988 e successivamente in POSIX.1-2001, diventando un formato supportato dalla maggior parte dei moderni sistemi di archiviazione dei file.
In POSIX.1-2001 il comando tar
venne abbandonato in favore del comando pax
, che doveva prevedere il supporto per il formato ustar.[5][6]
Ad oggi i sistemi operativi Unix-like usualmente includono strumenti per il supporto ai file tar, così come utilità comunemente utilizzate per comprimerli come xz, gzip e bzip2.
Il comando tar è stato inoltre portato sul sistema operativo IBM i.[7]
BSD-tar è stato incluso in Microsoft Windows a partire da Windows 10 1607 (Aprile 2018),[8][9] e sono inoltre disponibili diversi strumenti di terze parti per leggere e scrivere i formati tar su Windows.
Caratteristiche
[modifica | modifica wikitesto]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.
Formato
[modifica | modifica wikitesto]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 |
Note
[modifica | modifica wikitesto]- ^ (EN) The TAR File Format, su fileformat.info. URL consultato il 4 ottobre 2023.
- ^ (EN) TarBall, su wiki.debian.org. URL consultato il 4 ottobre 2023.
- ^ (EN) tar – format of tape archive files, su manpages.ubuntu.com. URL consultato il 12 gennaio 2025.
- ^ (EN) tar – format of tape archive files, su freebsd.org, 20 maggio 2004. URL consultato il 2 maggio 2017.
- ^ (EN) C.4 Utilities – Exclusion of Utilities, in The Open Group Base Specifications Issue 6, Vol. 4: Rationale, 2004.
- ^ (EN) 4. Utilities – pax – Rationale, in The Open Group Base Specifications Issue 6, Vol. 3: Shell and utilities, 2004.
- ^ (EN) System i 7.2 – Programming Qshell (pdf), su ibm.com, IBM, 2013. URL consultato il 5 settembre 2020.
- ^ (EN) Announcing Windows 10 Insider Preview Build 17063 for PC, su Windows Experience Blog, 19 dicembre 2017. URL consultato il 2 luglio 2018.
- ^ (EN) Tar and Curl Come to Windows!, su techcommunity.microsoft.com, 22 marzo 2019.
Bibliografia
[modifica | modifica wikitesto]- (EN) W. Curtis Preston, Backing Up and Restoring with the tar Utility, in Unix Backup and Recovery, O'Reilly Media, 1999, ISBN 9781565926424.
- (EN) The Austin Group, IEEE Standard for Information Technology - Portable Operating System Interface (POSIX), in IEEE Std 1003.1-2001, IEEE, 2001, DOI:10.1109/IEEESTD.2001.93364.
- (EN) The Austin Group, The Open Group Base Specifications, n. 8, The Open Group, 2024.
Voci correlate
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale di GNU tar, su gnu.org.
- (EN) tar - an archiving utility, su manpages.ubuntu.com.
- (EN) tar — format of tape archive files, su manpages.ubuntu.com.
- (EN) Information dettagliate sugli header dei file di tar e USTAR, su mkssoftware.com.