lzip, questo sconosciuto compressore dati.

Lzip è un programma di compressione dati senza perdita, basato sull' algoritmo LZMA (l'algoritmo di 7zip), Implementa un controllo di integrità file molto sicuro e un'interfaccia utente e comandi simile a quella di gzip o bzip2 in ambito unix/linux. Nelle distribuzioni Linux più diffuse, lzip può essere installato con semplicità, dai repository dei pacchetti ufficiali.

La suite di programmi lzip è stata scritta in C++ e C da Antonio Diaz Diaz e viene distribuita come software libero secondo i termini della versione 2 o successiva della GNU General Public License (GPL).

Lzip decomprime velocemente quasi come gzip e comprime meglio di bzip2, il che lo rende adatto per la distribuzione di software e l'archiviazione dei dati a lungo termine.

Il formato di file lzip (.lz) è una versione migliorata del deprecato e non sicuro formato di file “lzma-alone” (.lzma) della suite lzma-sdk.

TEST Qui potete trovare alcuni test che dimostrano come lzip possa sostituire egregiamente gzip e bzip2 per la distribuzione di software e di archiviazione dei dati.

Lzip implementa una versione semplificata dell'algoritmo LZMA (algoritmo di Lempel-Ziv-Markov). Questa elevata compressione di LZMA deriva dalla combinazione di due basilari e ben testate idee sulla compressione dati: dizionari scorrevoli (LZ77) e modelli di Markov (l'idea usata da ogni algoritmo di compressione che utilizza la codifica a intervalli o un codificatore ad entropia di orderine 0 nel suo ultimo stadio), con separazione dei contesti in base a ciò per cui i bit vengono utilizzati.

Per massimizzare l'interoperabilità con sistemi a 32 bit, la dimensione massima del dizionario utilizzabile è 512 MiB in modo che qualsiasi file creato con lzip possa essere decompresso senza problemi su macchine a 32 bit. Lzip fornisce un controllo accurato e robusto dell'integrità a 3 fattori. Lzip può comprimere alla stessa velocità di gzip (lzip -0) o comprimere la maggior parte dei file più di bzip2 (lzip -9). La velocità di decompressione è intermedia tra gzip e bzip2. Lzip è migliore di gzip e bzip2 dal punto di vista del recupero dati. Lzip è stato progettato, scritto e testato con grande cura per sostituire gzip e bzip2 come formato di compressione standard ad uso generale.

Le idee incarnate in lzip sono dovute (quantomeno) alle seguenti persone: Abraham Lempel e Ziv Jacob (per l'algoritmo LZ), Andrey Markov (per la definizione delle catene di Markov), G.N.N. Martin (per la definizione della codifica a intervalli), Igor Pavlov (per aver messo insieme tutto questo in LZMA e in 7zip), Julian Seward (per la CLI di bzip2), ad Antonio Diaz Diaz per aver rielaborato il tutto e creato di fatto Lzip.

Compressione Parallela

lzip ha due interfacce per la compressione parallela

Lziprecover

Lziprecover è uno strumento di recupero dati danneggiati e decompressore per i file nel formato lzip.

Storia

7-Zip è stato rilasciato nel 2000; uno strumento che utilizza LZMA è diventato disponibile per la prima volta su sistemi operativi simili a Unix nel 2004, quando è stato rilasciato un port della versione da riga di comando di 7-Zip (p7zip).

Nel 2004 divenne disponibile LZMA SDK, che includeva il programma chiamato “lzma_alone”, meno di un anno dopo, Lasse Collin pubblicò LZMA Utils, che inizialmente consisteva solo in una serie di script wrapper che implementavano un'interfaccia simile a gzip per lzma_alone.

Nel 2008, Antonio Diaz Diaz ha rilasciato lzip, che utilizza un formato contenitore con checksum e magicnumber, invece del flusso di dati grezzi LZMA, fornendo una soluzione completa in stile Unix per l'utilizzo di LZMA.

Tuttavia, LZMA-Utils di Lasse Collin è stato esteso nel tempo, Lasse Collin fondò “The Tukaani Project” in seguito grazie al supporto economico del progetto GNU, nacque XZ-Utils, uno strumento con funzionalità simili a quelle di lzip.

XZ-Utils, a differenza di lzip si basa su LZMA2 e sul formato contenitore XZ. Questo formato divenne parte del progetto GNU e adottato in maniera pesante come metodo di compressione per la distribuzione del codice sorgente.

L'adozione di XZ-Utils e del formato XZ da parte del progetto GNU, resero meno popolare lzip, rendendo di fatto XZ, XZ-Utils il “vincitore” del formato lzma2 su linux.

Alla fine lzip, seppur un progetto senza fondi economici e con bassa popolarità, con un solo sviluppatore (Antonio Diaz Diaz), continua fino ad oggi 2024 a crescere e svilupparsi mantenendo una resilienza davvero encomiabile, tanto da ritagliarsi nel tempo, un piccolo gruppo di estimatori delle sue qualità; per la robustezza, e semplicità del codice sorgente, è utilizzato per scopi didattici in alcune università, le specifiche del contenitore e del formato sono pubblicamente disponibili e certificate da Internet Engineering Task Force (IETF), un pregio che XZ-Utils non è riuscito a conquistarsi, visto l'approccio “macchinoso” e confusionario pesante nel suo codice sorgente.

Per sbeffeggiare la mancata considerazione del progetto GNU nei riguardi di lzip, l'autore considera scherzosamente lzip come non-GNU, al punto di acquistarne un dominio, dove è ospitato il progetto.

https://lzip.nongnu.org/

Supporto

GNU Autotools supporta lzip. L'aggiunta di dist-lzip a AMINITAUTOMAKE creerà tarball lzip. Le versioni 1.23 e successive di GNU TAR utilizzano lzip per gestire i file compressi in modo trasparente. Lo strumento di archiviazione di GNOME, Archive Manager, supporta i file lzip. libarchiver e bsd-tar supportano il formato lzip.

Applicazioni

La distribuzione Linux Dragora GNU/Linux-Libre utilizza lzip per i suoi pacchetti software. Lzip viene utilizzato per distribuire il database del fuso orario di IANA. Il Parlamento Europeo pubblica i dump completi del suo database in formato JSON compresso con lzip. Lzip è utilizzato nel Planetary Data System (PDS) della NASA.


git

https://gitea.it/fenix/lzip/releases/tag/1.24

https://gitea.it/fenix/lzip/releases/download/1.24/lzip-1.24_surce.tar.gz

https://gitea.it/fenix/lzip


riferimenti e bibliografia

https://lzip.nongnu.org/

https://lzip.nongnu.org/manual/lzip_manual.html

https://lzip.nongnu.org/lzip_benchmark.html

https://lzip.nongnu.org/xz_inadequate.html

https://lzip.nongnu.org/tarlz.html

https://lzip.nongnu.org/lzlib.html

https://lzip.nongnu.org/lziprecover.html

https://www.nongnu.org/zutils/zutils.html

https://en.wikipedia.org/wiki/Lzip

https://www.gnu.org/software/automake/manual/html_node/List-of-Automake-options.html

https://datatracker.ietf.org/doc/html/draft-diaz-lzip

https://www.nongnu.org/lzip/manual/lzip_manual.html#File-format

http://download.savannah.gnu.org/releases/lzip/

http://lists.gnu.org/mailman/listinfo/lzip-bug


#unolinux #lzip #LZMA #compressione #compressionedati #opensurce #archivio #tutorial #guidainformatica