Wat is het XZ-bestandsformaat?
.xz is een gecomprimeerd archief-bestandsformaat dat de XZ-compressiemethode gebruikt. Het formaat is systeemeigen voor XZ Utils, de referentie-softwaretool ontwikkeld als onderdeel van The Tukaani Project (een GNU/Linux-distributie gebaseerd op Slackware).
XZ en TAR
Een .xz-archief kan slechts één enkele gecomprimeerde stream opslaan en bevat zelf geen mappenstructuur. Daarom worden .xz-bestanden vaak gebruikt in combinatie met TAR-archieven - TAR verzamelt geselecteerde bestanden in één enkel archief, waarna het XZ-algoritme wordt toegepast voor compressie. Het resulterende bestand draagt de extensie .tar.xz of .txz.
LZMA2-compressie-algoritme
XZ-compressie is gebaseerd op het LZMA2-algoritme - een evolutie van de originele LZMA-standaard. Het maakt hoge compressieratio's mogelijk en resulteert in aanzienlijk kleinere bestandsgroottes: XZ-archieven zijn doorgaans 30% kleiner dan GZIP en 15% kleiner dan BZIP2 archieven. XZ biedt lossless compressie om elk informatieverlies te voorkomen.
Aanvullende opmerkingen
- Vergeleken met andere compressiemethoden is het XZ-compressieproces vrij traag, maar de decompressie is aanzienlijk sneller.
- XZ-archieven worden veel gebruikt voor het distribueren van Linux-softwarepakketten, inclusief Slackware en de meeste grote kernel-source tarballs.
- Het
.xz-formaat identificeert zichzelf met de vaste 6-byte header magicFD 37 7A 58 5A 00en verifieert de integriteit standaard met CRC64-controlesommen per blok en per stream (CRC32 en SHA-256 worden ook ondersteund). - Begin 2024 werd ontdekt dat XZ Utils-versies 5.6.0 en 5.6.1 een opzettelijk geïnjecteerde backdoor (CVE-2024-3094) bevatten in de
liblzma-bibliotheek. De specificatie van het.xz-bestandsformaat is niet aangetast; alleen die specifieke build-tarballs waren gecompromitteerd.
Beveiliging & veiligheid
RISICO: LOWHet .xz-formaat bevat geen uitvoerbare code en kan niet „draaien”; risico komt alleen van wat erin zit (pak uit voordat u het vertrouwt). Let op het supply-chain incident uit 2024 (CVE-2024-3094): er was een backdoor geplaatst in de liblzma-build van xz 5.6.0/5.6.1 die in sommige testkanalen van distributies werd geleverd - dit heeft invloed op de binaire bestanden van de tool/bibliotheek, niet op de .xz-bestanden die u ontvangt. Pas op voor nep-downloadsites voor „xz-openers” die adware bundelen; gebruik 7-Zip/PeaZip van hun officiële pagina's.
Formaatdetails
in een notendopProgramma's die XZ-bestanden openen
tar -xf file.tar.xz uit (macOS bsdtar ondersteunt xz) of installeer xz via Homebrew. xz -d file.xz om te decomprimeren, of tar -xf file.tar.xz voor tarballs. Vooraf geïnstalleerd op de meeste distributies. Technische details
diepe specificaties| Compressie-algoritme | LZMA2 (evolutie van LZMA); optionele filterketen met delta- en BCJ-filters (branch/call/jump) |
| Containerstructuur | Stream header → een of meer gecomprimeerde blokken → blokindex → stream footer |
| Stream header magic | FD 37 7A 58 5A 00 - vaste 6 bytes op offset 0 |
| Stream footer magic | 59 5A („YZ”) - altijd de laatste 2 bytes van elke .xz-stream |
| Byte-volgorde | Little-endian |
| MIME-type | application/x-xz |
| Integriteitscontrole | Controlesommen per blok en per stream; standaard CRC64; CRC32 en SHA-256 ook ondersteund |
| Versleuteling | Geen - geen ingebouwde versleuteling; versleutel gegevens vóór compressie indien nodig |
| Bestandsopslag | Alleen enkele gecomprimeerde stream; geen bestandsnamen of mappenstructuur (combineer met .tar voor archieven met meerdere bestanden) |
| Codering | Binair |
| Typische gecomprimeerde grootte | Tientallen KB tot verscheidene GB; Linux kernel source tarballs zijn meestal 50-200 MB |
| Compressieratio vs. alternatieven | Doorgaans ~30% kleiner dan gzip en ~15% kleiner dan bzip2 op broncode |
| Beveiligingsopmerking | CVE-2024-3094: XZ Utils 5.6.0/5.6.1 tarballs bevatten een backdoor in liblzma; de specificatie van het .xz-bestandsformaat is niet aangetast |
| Platformondersteuning | Linux, BSD, macOS, Windows (via XZ Utils, 7-Zip, PeaZip, NanaZip, The Unarchiver) |
| Uitgebracht | 2009 (XZ Utils 4.999.x / 5.0; format finalized 2009) |
| Laatste versie | XZ file format 1.0.4 (2009); XZ Utils 5.6.x toolchain |
| Open standaard | Ja · royaltyvrij |
| Specificatie | tukaani.org |
XZ conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over XZ-bestanden.
Veelgestelde vragen
Hoe open ik een .xz-bestand op Windows?
Wat is het verschil tussen .xz en .tar.xz?
Is .xz beter dan .gz of .zip?
Is het xz-bestandsformaat getroffen door de xz-backdoor (CVE-2024-3094)?
Hoe decomprimeer ik .xz op Linux?
xz -d file.xz om het originele bestand te krijgen, of tar -xf file.tar.xz om een tarball uit te pakken. xz is vooraf geïnstalleerd op de meeste distributies.