Gestire archivi xz su macOS
Attraverso l'applicativo Homebrew possiamo gestire gli archivi xz da terminale

Alcuni repository pubblici forniscono file al pubblico sotto forma di archivi xz. Questa tipologia di compressione dati, per chi non lo sapesse, è senza perdita di informazione e il formato file .xz incorpora gli algoritmi di compressione dati LZMA / LZMA2.
Per aprire un file .xz o .tar.xz macOS non richiede software aggiuntivo: basta un doppio clic (il file viene estratto da Utility Archivio) oppure, da terminale, il comando di sistema tar -xf archivio.tar.xz. Quello che manca è il comando xz di XZ Utils, utile per comprimere singoli file, verificarne l’integrità (-t), leggerne le informazioni (-l) o regolare livello di compressione e thread. Per ottenerlo si usa Homebrew, che va installato come riportato nella seguente guida:
Homebrew su macOS: installazione, comandi e app con brew
Installare xz con Homebrew
Per installare l’applicativo di gestione degli archivi xz basterà utilizzare il seguente comando nel terminale
brew update brew install xz
attendere l’installazione e verificare la versione installata con xz --version.
Opzioni principali di xz
L’elenco completo delle opzioni si ottiene con xz -h (o xz -H per la guida estesa); le più usate sono:
| Opzione | Funzione |
|---|---|
-z |
comprime (comportamento predefinito) |
-d |
decomprime |
-t |
verifica l’integrità del file compresso |
-l |
mostra informazioni sui file .xz |
-k |
mantiene i file di ingresso (non li cancella) |
-f |
forza la sovrascrittura del file di uscita |
-c |
scrive su standard output senza cancellare i file di ingresso |
-0 … -9 |
livello di compressione (predefinito 6); i livelli 7-9 richiedono molta più memoria |
-e |
modalità extreme: migliora un po’ la compressione usando più tempo di CPU |
-T N |
usa al massimo N thread (0 = tanti quanti i core) |
-v |
output dettagliato |
-h / -H |
guida breve / guida completa |
Comandi rapidi
Nello specifico i comandi rapidi risultano:
xz --version # mostra la versione installata xz -d file.xz # decomprime un file .xz xz -dk file.xz # decomprime mantenendo il file originale xz file # comprime un singolo file xz -k file # comprime mantenendo il file originale xz -t file.xz # verifica integrità xz -l file.xz # mostra informazioni sull'archivio tar -xf archivio.tar.xz # estrae un archivio .tar.xz (tar di sistema, non serve Homebrew) tar -tf archivio.tar.xz # mostra il contenuto di un .tar.xz tar -cJf archivio.tar.xz cartella/ # crea un archivio .tar.xz da una cartella
Molte immagini di sistema (ad esempio per Raspberry Pi) sono distribuite in formato .img.xz: per scriverle su una scheda SD o una chiavetta vedi Come usare dd su macOS.
Sicurezza: la backdoor CVE-2024-3094
Le versioni 5.6.0 e 5.6.1 di XZ Utils, pubblicate all’inizio del 2024, contenevano una backdoor (CVE-2024-3094) nascosta negli archivi di rilascio, cioè negli script di compilazione e in file di test offuscati, e non nel codice visibile del repository. Era progettata per compromettere il server SSH (sshd) di distribuzioni Linux x86-64 basate su glibc e systemd: su macOS la backdoor non si attivava, ma resta comunque consigliato non usare quelle versioni. Le versioni compromesse sono state ritirate dai gestori di pacchetti, Homebrew compreso. Controlla la versione installata con xz --version e mantienila aggiornata con:
brew update brew upgrade xz




