bzip2
bzip2 | |
---|---|
Estensione | .bz2
|
Tipo MIME | application/x-bzip
|
Sviluppato da | Julian Seward |
Licenza | Specifiche pubbliche, esistono implementazioni con licenza GPL |
Ultima versione | 1.0.8 |
Tipo | Compressione dei dati |
Compressione | Lossless |
Formato aperto? | Sì |
Sito web | https://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]
- (EN) L'home page di bzip2, su bzip.org. URL consultato il 28 maggio 2005 (archiviato dall'url originale il 25 dicembre 2006).
- (EN) bzip2 per sistemi Windows, su gnuwin32.sourceforge.net.