bzip2
bzip2 è un programma open source di compressione di dati basato sulla trasformata di Burrows-Wheeler.[1][2] Si affida a utility esterne separate per attività come la gestione di più file, la crittografia e la divisione degli archivi.[2]
bzip2 | |
---|---|
Estensione | .bz2
|
Magic number | BZh
|
Tipo MIME | application/x-bzip2
|
Uniform Type Identifier (UTI) | public.bzip2-archive
|
Type code (Mac OS) | public.archive.bzip2
|
Sviluppatore | Mark Wielaard, Federico Mena, Micah Snyder |
Proprietario | Julian Seward |
Licenza | Licenza zlib modificata |
1ª pubblicazione | 18 luglio 1996 |
Ultima versione | 1.0.8 (13 luglio 2019) |
Tipo | Compressione dei dati |
Compressione | Lossless |
Formato aperto? | Sì |
Sito web | sourceware.org/bzip2/ |
bzip2, è sviluppato da Julian Seward e distribuito a partire dal 1996. L'ultima versione è la 1.0.8 ed è stata pubblicata il 13 luglio 2019 con una licenza libera.[3]
Descrizione
modificabzip2 produce, nella maggior parte dei casi, file compressi molto piccoli rispetto a gzip o ZIP, tuttavia ha prestazioni inferiori a quest'ultimi siccome risulta leggermente più lento [4].
Nonostante ciò, 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 come 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
modificabzip2 include uno strumento per il recupero di archivi danneggiati chiamato bzip2recover. Come accennato in precedenza, bzip2 comprime i file in blocchi indipendenti l'uno dall'altro. Se durante la trasmissione di dati si verifica un errore, il file potrebbe risultare danneggiato. Tuttavia, è possibile recuperare dati dai blocchi non danneggiati. Ogni blocco ha una propria stringa di controllo CRC-32 che consente di distinguere i blocchi danneggiati da quelli integri.
bzip2recover accetta un solo argomento in entrata, ovvero il nome del file danneggiato. Il programma cerca i blocchi nel file .bz2, li estrae tutti e li salva numerandoli in ordine. Una volta ottenuti i file-blocco, è possibile aprirli per recuperare i dati.
Note
modifica- ^ (EN) bzip2 and libbzip2, su bzip2.
- ^ a b Mukherjee e Awan.
- ^ (EN) Julian Seward, bzip2 and libbzip2, version 1.0.8, su sourceware.org, 13 luglio 2019.
- ^ Programmi di compressione su Linux | Linuxaria, su linuxaria.com. URL consultato il 16 novembre 2023.
Bibliografia
modifica- (EN) Amar Mukherjee e Fauzia Awan, Text compression, in Khalid Sayood (a cura di), Lossless Compression Handbook, Academic Press, 2003.
Collegamenti esterni
modifica- (EN) Sito ufficiale, su sourceware.org.
- Bzip2, su packages.debian.org.
- Repository sorgenti di Bzip2, su sourceware.org.
- (EN) Bzip2 for Windows, su gnuwin32.sourceforge.net, 20 marzo 2008.