Larchiviazione E La Compressione

In tutti i sistemi operativi e quindi anche in Linux, esiste una differenza fondamentale tra archiviazione e compressione. L'archiviazione consiste nella creazione di un unico file binario in cui tutti i file inclusi sono compattati senza spazi liberi tra l'uno e l'altro, pero' i file non sono ancora compressi. Questa pratica era molto usuale quando si registravano i file su nastro, comunque permette di ottenere da una cartella contenente numerosi file che occupano molto spazio, solo un unico file che occupa pochissimo spazio.

Per creare un archivio basta usare il comando:

 $ tar -c [nomefiledaarchiviare] > [nomearchivio] 

e per aggiungere uno o pu' file:

 $ tar -Af [nomearchivio] [ifiledaaggiungere] 

Per compressione si intende l'elaborazione di un file attraverso un programma per ottenere un file piu' piccolo senza perdita significativa d'informazioni. Il metodo utilizzato puo' essere qualunque, e per Linux ne esistono tantissimi. Generalmente quando una persona compatta o archivia lo fa per lo stesso motivo, cioe' risparmiare spazio, quindi tutti i programmi piu' famosi di compressione con interfaccia grafica, senza farcelo sapere prima archiviano e poi compattano. In Linux uno dei comandi piu' famosi e' gzip, ma e' migliore anche se piu' lento bzip2. Comunque per usarlo basta:

 $ gzip [nomefile] 

e per decomprimere:

 $ gunzip [nomefile]

Ultimamente e' nato il formato 7za, anche chiamato 7zip, scaricabile dal sito http://www.7-zip.org/ , sotto licenza GNU LGPL. Questo tipo di compressione e' fra i piu' efficenti conosciuti, sfortunatamente l'ideatore non ha pensato ad un modo per preservare i permessi, quindi se volete preservare i permessi di file e directory dovete passare attraverso tar:

 $ tar cf - directory | 7za a -si backupdirectory.tar.7z

tar

Inizialmente pensato per i nastri il comando tar (tape archiver) permette di archiviare piu' file in un unico file senza interruzioni, ma viene utilizzato anche per inviare i file attraverso il web poiche' e' pissibile inviare piu' informazione attraverso un unico pacchetto. Il comando tar e' fondamentale, perche' attraverso esso e' possibile comprimere i file e le cartelle ottenendo un unico file, anche utilizzando metodi di compressione diversa, per avere un singolo file bisogna passare, in maniera evidente o nascosta, attraverso tar. Per creare un archivio tar senza comprimere basta scrivere:

 $ tar -c -v -f tutti.tar io.txt me.jpg irene.mp3 

oppure

 $ tar -cvf tutti.tar io.txt me.jpg irene.mp3 

l'opzione -c significa che stiamo creando un archivio, -v significa "verbose" cioe' "logorroico" ovvero che scriva sullo schermo ogni file compresso, mentre -f si usa per indicare il nome del file compresso, cioe' dopo -f c'e' il nome del file. Per decomprimere un file prova.tar.bz2, basta scrivere:

 $ tar -xjvf prova.tar.bz2 

In pratica per usare la compressione gzip, sia per decomprimere che per comprimere, si immette tra le opzioni la lettera z, mentre se si usa quella bzip2 si immette la lettera j .