Tempo di Lettura: 3 minuti
Stavo aggiornando all’ultima release stabile BetterZip, un’ottima e completa utility per Mac per la gestione di archivi compressi, quando, tra le note del changelog leggo che è stato introdotto il supporto agli archivi di tipo XAR.
Furthermore, XAR archives (the format of the new Leopard installer packages) are now first-class citizens in BetterZip, i.e., you can open, extract, and create XAR archives.
Francamente non ero a conoscenza di questo nuovo formato, anche perché è stato introdotto solo recentemente nel 2006 e il primo sistema operativo ad adottarlo ufficialmente è stato Mac OS X Leopard per i suoi installer packages.
Caratteriche
L’acronimo XAR sta per eXtensible ARchive format, e altro non è che un formato di file che può contenere altri file (proprio come il TAR) e sta ad indicare una tipologia di archiviazione di nuova concezione che offre numerosi vantaggi rispetto agli altri formati come la facile estrazione di dati arbritari, metadata all’inizio del file ed estensibilità.
Infatti, questo formato ha una particolarità non indifferente: i file contenuti in un archivio XAR sono compressi singolarmente e ciò permette un’estrazione veloce di file individuali, non richiedendo, quindi, l’uso di ulteriore spazio su disco e un utilizzo maggiore della CPU necessario per estrarre l’intero archivio, come accade, invece, ad esempio con un archivio TAR.
Ecco, quindi, spiegato perché il formato di archiviazione XAR è stato adottato da Leopard: per come è stato progettato, XAR è molto utile per un veloce ripristino di file cancellati o sovrascritti accidentalmente da un archivio di backup.
Inoltre, cosa non indifferente, vi è anche la possibilità di usare differenti metodi di compressione per ogni file dell’archivio. Per esempio, si potrebbe adottare, per un file di grandi dimensioni, la compressione bzip2, mentre per un piccolo file di testo potrebbe convenire la compressione gzip.
Infine, ogni archivio XAR, è costituito da 3 parti:
- Header binario: contiene informazioni circa il documento XML, tipo se il file è compresso, qual è il suo hash, quale algoritmo di hash è stato usato, etc.
- Documento XML (TOC: Table Of Contents): è la parte importante poiché contiene tutte le informazioni sui file contenuti nell’archivio. L’uso dell’XML permette al formato di essere molto estensibile e di poter essere gestito dagli strumenti software già esistenti tramite piccole modifiche degli stessi.
- Heap (il “mucchio” in inglese): contiene file compressi singolarmente e altri dati (come attributi, resource forks, etc.) che si susseguono linearmente. L’offset, la lunghezza e il tipo di compressione usati per immagazzinare il singolo file nell’heap sono contenuti nell’header del file XML.
Questa struttura flessibile permette, come potete intuire, di gestire informazioni aggiuntive e arbitrarie dei file contenuti (metadati) come i tag dei file MP3 o informazioni EXIF in un file JPEG. Addirittura potrebbe essere possibile immagazzinare un interprete di script o delle librerie, direttamente dentro al singolo file dello script.
Come avete visto, le caratteristiche peculiari del formato XAR lo rendono uno strumento davvero unico, una piattaforma conveniente su cui costruire strumenti come un formato di packing.
Altre risorse su internet
Se siete convinti come me, che, prima o poi, questo formato di archiviazione si diffonderà molto velocemente, potete approfondire il discorso leggendo l’articolo di Rob Braun: Why xar is interesting e scaricare i sorgenti dal sito di Google Code che ha dato una casa al progetto XAR che rischiava di perdersi dopo la chiusura di OpenDarwin.org nel 2007 (è possibile ancora trovare un mirror della storica comunità della piattaforma Darwin) che si è nel frattempo trasformata in PureDarwin.
Cavolo, superpower! =D Speriamo prenda piede! 😉
OT:
me lo spieghi questo: http://stats.wordpress.com/g.gif XD l’ho appena notato e mi ha fatto troppo ridere! XD
Interessante, grazie dell’approfondimento!
Ma… perché usi BetterZip? Io non credo di aver installato nulla per gli archivi sul mio mac… (adesso vado a guardarmelo…).
Cicciokun, quell’immagine è parte di WordPress stats (Antonio, un colpo di CSS e scompare!). 😉
Ciao,
Emanuele
Si si, immaginavo…ma perché uno smileino??? XD mi ha fatto troppo ridere! Sembra che ti prenda in giro stando lì nell’angolino pensando “ihih io son qui e tu non te n’eri accorto!” Cmq per farlo sparire basta sostituirlo con una gif trasparente no? =P Però è così carino XD ti prego lascialo!!!
@Emanuele: Secondo me è il miglior programma per gestire archivi… soprattutto file rar…
@Cicciokun: hmm con Safari non è che vedo lo smile… dove sarebbe posizionato?
=) QUI: http://img216.imageshack.us/my.php?image=qui.jpg
@Cicciokun: Scoperto l’arcano: io da Safari non lo vedo! 🙂
Buh, io ho UnRarX per quelli, e sembra fare il suo lavoro silenziosamente! 😉
Ciao,
Emanuele
@Emanuele: cmq BetterZip scompatta anche tutti i formati di archivio esistente… e spesso mi capitano sotto mano certi formati desueti che questo programmino scompatta egregiamente… UnRarX è comodo ma a volte, ti parlo di un anno fa, mi è capitato che dava problemi con gli archivi con le password… cmq è sempre una valida applicazione gratuita e open source…
Just to add my 2 cents:
the diagram you are using is licensed under the
Creative Commons Attribution-Noncommercial-Share Alike 3.0 License, … .
Nevertheless this a quite good article about Xar.
Ciao,
JR