XZ il successore di LZMA
XZ Utils è un software di compressione dati libero con un alto indice di compressione. XZ Utils è il successore di LZMA Utils.
Il cuore del codice di compressione di XZ Utils è basato su LZMA SDK, ma questo è stato un bel pò modificato per essere adattabile per XZ Utils. L’algoritmo primario di compressione è attualmente LZMA2, che viene usato all’interno del formato contenitore .xz. Con tipici file, XZ Utils è in grado di creare archivi del 30 % più piccolo rispetto a gzip e del 15 % rispetto a bzip2.
– XZ Utils è costituito da vari componenti:
– liblzma è una libreria di compressione con API simile a quella di zlib.
– XZ è uno strumento da riga di comando con una sintassi simile a quella di gzip.
– xzdec è un tool di decompressione xz (solo un piccolo tool nel complesso).
– Un insieme di script di shell (xzgrep, xzdiff, ecc) sono stati adattati da gzip per facilitare la visualizzazione, il grepping, e la comparazione dei file compressi.
– L’emulazione di strumenti a linea di comando di LZMA Utils facilita la transizione da Utils LZMA a XZ Utils.
Mentre liblzma ha una zlib come API, liblzma non include alcun file di funzioni I/O. E’ prevista una libreria I/O, che permetterebbe la manipolazione astratta dei file .gz, .bz2, e .xz con un facile uso di API.
Tradotto un pò alla buona da qui.
Le specifiche del formato xz
Utilizzo
Per poter utilizzare il formato di compressione XZ è necessaria la versione 1.22 di tar (presente nel repository) oltre ai pacchetti xz specifici.
Per archiviare file:
tar -cJvf nome_archivio.xz nome_file_o_cartella
Per estrarre file:
tar -xJvf nome_archivio.xz
Comandi da terminale, in attesa che venga rilasciata una versione di file-roller (o qualsiasi gestore archivi grafico) che supporti il formato.
Problemi con i pacchetti in fase di installazione
Il codice di errore riguarda la sovrascritture del file /usr/share/man/man1/lzmainfo.1.gz già presente nel pacchetto lzma.
Per ovviare a tale problema, scaricate i pacchetti da qui e forzate l’installazione come segue:
sudo dpkg -i –force-all pacchetto.deb
Slackware 13 utilizza questo tipo di compressione per quasi tutti i pacchetti. Il risultato è una ISO molto più piccola. Il vantaggio rispetto a BZIP2 è il tempo di scompattamento nettamente più rapido, e, come detto nell’articolo, rispetto a GZIP ha un rapporto di compressione migliore. Botte piena e moglie ubriaca 🙂