bzip2

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search
bzip2
Estensione.bz2
Tipo MIMEapplication/x-bzip
Sviluppato daJulian Seward
LicenzaSpecifiche pubbliche, esistono implementazioni con licenza GPL
Ultima versione1.0.8
TipoCompressione dei dati
CompressioneLossless
Formato aperto?
Sito webhttps://www.sourceware.org/bzip2/

bzip2 è un algoritmo di compressione dati libero da brevetti e open source. L'ultima versione, la 1.0.8, è stata pubblicata il 13 luglio 2019.

Sviluppato da Julian Seward, venne pubblicato nel luglio del 1996 (versione 0.15). La sua popolarità aumentò in poco tempo in quanto la compressione era elevata e stabile: la versione 1.0 è stata pubblicata nel 2000.

Descrizione[modifica | modifica wikitesto]

bzip2 produce con la maggior parte dei casi file compressi molto piccoli rispetto a gzip o ZIP, tuttavia ne "paga" in prestazioni essendo leggermente più lento [senza fonte].

Ciò nonostante, con il costante effetto della legge di Moore che rende il tempo-macchina sempre inferiore e meno importante, i metodi di elevata compressione come bzip2 sono diventati più popolari. Secondo l'autore, bzip2 ha un'efficienza di compressione inferiore del 10-15% rispetto a quella della famiglia dei compressori basati sull'algoritmo più efficiente attualmente conosciuto (PPM).

bzip2 usa la trasformata di Burrows-Wheeler per convertire le sequenze di caratteri ricorrenti in stringhe di lettere identiche. In bzip2 i blocchi sono in testo piano e tutti della stessa misura, inoltre sono contrassegnati da sequenze di bit derivate dalla rappresentazione decimale del Pi greco.

Nella versione GNU, bzip2 può essere utilizzato indipendentemente:

bzip2 file

(comprime file)

bzip2 -d file.bz2

(decomprime file.bz2)

oppure può essere utilizzato insieme a tar:

tar cjf archivio.tar.bz2 lista dei file
tar xjf archivio.tar.bz2

rispettivamente per comprimere e decomprimere archivio.tar.bz2 in lista dei file e viceversa. Tuttavia l'integrazione di bzip2 con tar (tramite l'opzione j) è possibile solo nella versione GNU di quest'ultimo, nella versione originale Unix è necessario spezzare il processo da un operatore pipe.

Recupero dati[modifica | modifica wikitesto]

bzip2 fornisce uno strumento per recuperare archivi danneggiati: bzip2recover. Come già detto, bzip2 comprime i file in blocchi ognuno indipendente dall'altro. Se durante una trasmissione dati avviene un errore (o più comunemente, un supporto come un CD-Rom si rovina) il file risulterà danneggiato, ma è possibile recuperare dati dai blocchi non danneggiati. Ogni blocco ha anche una propria stringa di controllo CRC-32 in modo da distinguere i blocchi danneggiati da quelli integri.

bzip2recover è un programma semplice (accetta un solo argomento in entrata -il nome del file danneggiato) che cerca i blocchi nei file .bz2, li estrae tutti e li salva numerandoli in ordine. Una volta ottenuti i file-blocco, è possibile aprire ogni file per recuperare i dati.

Collegamenti esterni[modifica | modifica wikitesto]