macOS

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

Admin | MST-Tutorial

Appassionato di elettronica, elettrotecnica e programmazione. Fondatore di MST-Tutorial, condivido con entusiasmo conoscenze, esperienze e progetti legati all’innovazione tecnologica, con l’obiettivo di rendere accessibili concetti tecnici complessi attraverso tutorial chiari e pratici.

Articoli Correlati

Pulsante per tornare all'inizio