Die XZ Utils (früher LZMA Utils) sind eine Sammlung von freien Packprogrammen für Unixoide Systeme, die im Rahmen des Tukaani Project der Linux-Distribution Slackware entstanden ist.
Der Datenkompressionsalgorithmus basiert auf einer angepassten Portierung des LZMA-Codes des LZMA-SDK von Igor Pavlov auf Linux und andere Unix-ähnliche Plattformen.
Die XZ Utils bieten die von den etablierten Linux-Packprogrammen gzip und bzip2 gewohnte Handhabung gepackter Dateien für den fortschrittlichen Lempel-Ziv-Markow-Datenkompressionsalgorithmus (LZMA) sowie eine Basis für dessen einfache Integration in andere Programme. Dazu haben sie eine sehr ähnliche Bedienung, erledigen ebenfalls das Archivieren mehrerer Dateien nicht selbst, sondern setzen dafür auf die Kombination mit reinen Archivformaten wie tar und führen auch ein neues Dateiformat mit vergleichbaren Eigenschaften (xz, siehe unten) ein.
Der Quelltext ist großteils gemeinfrei, ansonsten unter verschiedenen Freie-Software-Lizenzen.
Die Kompression ist effizienter, aber meist erheblich langsamer als die Kompression mit gzip, bzip2 oder rar, führt dafür jedoch zu um 30 % bzw. 15 % kleineren Ergebnissen als bei gzip bzw. bzip2. Bei LZMA-basierter Kompression ergeben sich mit ausreichend Arbeitsspeicher von den Kompressionseinstellungen weitgehend unabhängige, gleichbleibende Dekompressionszeiten, die in der Regel deutlich unter den variierenden Zeiten von bzip2 liegen, jedoch im Vergleich mit gzip deutlich zurückbleiben.Die XZ Utils bestehen aus mehreren einzelnen Werkzeugen zur Handhabung von xz-Dateien:
xz
ist ein Kommandozeilenprogramm, das analog zu gzip oder bzip2 arbeitet und ein nachempfundenes Bedienungskonzept hat
liblzma
ist eine Programmbibliothek mit einer Programmierschnittstelle, die sich an die der zlib anlehnt
xzdec
– ein reines DekompressionswerkzeugWeiterhin gibt es eine Sammlung von Shell-Skripten zur Erleichterung des Umgangs mit xz-Dateien.
Dadurch stehen die Befehle xz, unxz, xzcat und xzgrep (bzw. zur Abwärtskompatibilität zu den älteren LZMA Utils auch lzma, unlzma, lzcat und lzgrep) zur Verfügung.