XZ
From Just Solve the File Format Problem
XZ is a stream compression format with built-in integrity checks. It uses LZMA2 compression. Compressed streams are able to be concatenated and still be decompressible like a single-stream file.
XZ is a successor to LZMA_Alone format, and an alternative to Lzip. The compression format is offered as an option among the likes of:
- vmlinuz[2],
- initramfs[3][4][5],
-
squashfs-tools
[6] - As a specific switch
-J
or--xz
in GNU tar[7] under Linux. - DWARFS - mainly via liblzma[8] which on modern Linux installations, only LZMA2 is used in place of LZMA.
Contents |
Identification
XZ files always have lengths that are multiples of 4 bytes, and they begin with a 6-byte "magic" sequence of (hex) FD 37 7A 58 5A 00
and end with footer "magic bytes" of 59 5A
. (The ending bytes can be verified as a sign that the file has not been truncated in transmission.)
Software
- 7-Zip
- LZMA SDK
- XZ Utils:
-
xz
,unxz
,xzcat
, etc. -
xzdec
- liblzma
-
- XZ Embedded
Sample files
- dexvert samples — archive/xz
- Search results of files with .xz extension, belongs to archive family and is the format xz - Discmaster.textfiles.com
Links
- Current spec
- Official site (has historical specs with other info)
- Wikipedia article
- Xz format inadequate for long-term archiving - Analysis of weaknesses and design errors in the xz format, by the author of another format
References
- ↑ The .xz File Format - Version 1.0.0 (2009-01-14) - tukaani.org
- ↑ extract-vmlinux shell script (line 52) - Linus Torvalds' kernel - GitHub
- ↑ dracut.conf.5.adoc - dracut-ng manual pages - GitHub
- ↑ mkinitcpio.conf (lines 61-67) - mkinitcpio - Arch Linux GitLab
- ↑ manpage.md (line 57) - booster - GitHub
- ↑ compressor.c (lines 31-77) - squashfs-tools - GitHub
- ↑ 8.1.1 Creating and Reading Compressed Archives - GNU tar 1.35 online manual (single page) - gnu.org
- ↑ lzma.cpp - DWARFS - GitHub