bzip2

software di compressione

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.

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/

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.

DescrizioneModifica

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 datiModifica

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 esterniModifica