Vad är filformatet XZ?
.xz är ett komprimerat arkivformat som använder XZ-komprimeringsmetoden. Formatet är infött för XZ Utils, referensverktyget som utvecklats som en del av The Tukaani Project (en GNU/Linux-distribution baserad på Slackware).
XZ och TAR
Ett .xz-arkiv kan endast lagra en enskild komprimerad ström och innehåller inget eget filträd. På grund av detta används .xz-filer vanligtvis i kombination med TAR-arkiv - TAR samlar valda filer i ett enda arkiv, och XZ-algoritmen tillämpas sedan för komprimering. Den resulterande filen får suffixet .tar.xz eller .txz.
LZMA2-komprimeringsalgoritm
XZ-komprimering är baserad på LZMA2-algoritmen - en vidareutveckling av den ursprungliga LZMA-standarden. Den möjliggör höga komprimeringsförhållanden och resulterar i avsevärt reducerade filstorlekar: XZ-arkiv är vanligtvis 30 % mindre än GZIP och 15 % mindre än BZIP2-arkiv. XZ erbjuder förlustfri (lossless) komprimering för att förhindra informationsförlust.
Ytterligare anmärkningar
- Jämfört med andra komprimeringsmetoder är XZ-komprimeringsprocessen ganska långsam, men dekomprimeringen är betydligt snabbare.
- XZ-arkiv används i stor utsträckning för att distribuera Linux-programvarupaket, inklusive Slackware och de flesta stora källkodspaket för kärnan (kernel source tarballs).
- Formatet
.xzidentifierar sig med det fasta 6-byte-huvudet (magic bytes)FD 37 7A 58 5A 00och verifierar integritet med CRC64-kontrollsummor per block och per ström som standard (CRC32 och SHA-256 stöds också). - I början av 2024 upptäcktes att XZ Utils versionerna 5.6.0 och 5.6.1 innehöll en avsiktligt injicerad bakdörr (CVE-2024-3094) i biblioteket
liblzma. Specifikationen för filformatet.xzär opåverkad; endast dessa specifika bygg-tarballs var komprometterade.
Säkerhet & trygghet
RISK: LOWFormatet .xz innehåller ingen exekverbar kod och kan inte „köras”; risk uppstår endast från vad som finns inuti (extrahera innan du litar på innehållet). Notera incidenten i leveranskedjan 2024 (CVE-2024-3094): en bakdörr fördes in i liblzma-bygget av xz 5.6.0/5.6.1 som skickades i vissa testkanaler för distributioner - detta påverkar verktygs-/biblioteksbinärer, inte .xz-filer du tar emot. Se upp för falska webbplatser för „xz-öppnare” som buntar med annonsprogram; använd 7-Zip/PeaZip från deras officiella sidor.
Formatdetaljer
i ett nötskalProgram som öppnar XZ-filer
tar -xf file.tar.xz (macOS bsdtar hanterar xz) eller installera xz via Homebrew. xz -d file.xz för att dekomprimera, eller tar -xf file.tar.xz för tarballs. Förinstallerat på de flesta distros. Tekniska detaljer
djup specifikation| Komprimeringsalgoritm | LZMA2 (vidareutveckling av LZMA); valfri filterkedja med delta- och BCJ-filter (branch/call/jump) |
| Containerstruktur | Strömhuvud → ett eller flera komprimerade block → blockindex → strömfot |
| Magi för strömhuvud | FD 37 7A 58 5A 00 - fasta 6 bytes vid offset 0 |
| Magi för strömfot | 59 5A („YZ”) - alltid de sista 2 byten i varje .xz-ström |
| Byteordning | Little-endian |
| MIME-typ | application/x-xz |
| Integritetskontroll | Kontrollsummor per block och per ström; standard CRC64; även CRC32 och SHA-256 stöds |
| Kryptering | Ingen - ingen inbyggd kryptering; kryptera data före komprimering vid behov |
| Fillagring | Endast en enskild komprimerad ström; inga filnamn eller filträd (kombinera med .tar för arkiv med flera filer) |
| Kodning | Binär |
| Typisk komprimerad storlek | Tiotals KB till flera GB; källkodspaket för Linux-kärnan är vanligtvis 50-200 MB |
| Komprimeringsförhållande vs alternativ | Vanligtvis ~30 % mindre än gzip och ~15 % mindre än bzip2 på källkod |
| Säkerhetsnotering | CVE-2024-3094: XZ Utils 5.6.0/5.6.1 tarballs innehöll en bakdörr i liblzma; specifikationen för filformatet .xz är opåverkad |
| Plattformsstöd | Linux, BSD, macOS, Windows (via XZ Utils, 7-Zip, PeaZip, NanaZip, The Unarchiver) |
| Släppt | 2009 (XZ Utils 4.999.x / 5.0; format finalized 2009) |
| Senaste version | XZ file format 1.0.4 (2009); XZ Utils 5.6.x toolchain |
| Öppen standard | Ja · royaltyfri |
| Specifikation | tukaani.org |
XZ-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om XZ-filer.
Vanliga frågor
Hur öppnar jag en .xz-fil på Windows?
Vad är skillnaden mellan .xz och .tar.xz?
Är .xz bättre än .gz eller .zip?
Påverkas xz-filformatet av xz-bakdörren (CVE-2024-3094)?
Hur dekomprimerar jag .xz på Linux?
xz -d file.xz för att få originalfilen, eller tar -xf file.tar.xz för att packa upp en tarball. xz är förinstallerat på de flesta distributioner.