XZ

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
m (Change telparia.com samples link to template)
(Updated links, added examples where xz/lzma2 is used under Linux with citations, added more information into FormatInfo, added discmaster.textfiles.com custom search for Sample files section.)
Line 5: Line 5:
 
|mimetypes={{mimetype|application/x-xz}}
 
|mimetypes={{mimetype|application/x-xz}}
 
|pronom={{PRONOM|fmt/1098}}
 
|pronom={{PRONOM|fmt/1098}}
 +
|wikidata={{wikidata|Q162839}}
 +
|compression=lossless, mandatory
 +
|magic=FD 37 7A 58 5A 00
 +
|released=2009<ref>[https://tukaani.org/xz/xz-file-format-1.0.0.txt The .xz File Format - Version 1.0.0 (2009-01-14) - tukaani.org]</ref>
 
}}
 
}}
 
'''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 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|LZMA_Alone]] format, and an alternative to [[Lzip]].
+
XZ is a successor to [[LZMA Alone|LZMA_Alone]] format, and an alternative to [[Lzip]]. The compression format is offered as an option among the likes of [[vmlinuz]]<ref>[https://github.com/torvalds/linux/blob/master/scripts/extract-vmlinux#L52 extract-vmlinux shell script (line 52) - Linus Torvalds' kernel - GitHub]</ref>, [[initramfs]]<ref>[https://github.com/dracut-ng/dracut-ng/blob/main/man/dracut.conf.5.adoc?plain=1#L119-L123 dracut.conf.5.adoc - dracut-ng manual pages - GitHub]</ref><ref>[https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio/-/blob/master/mkinitcpio.conf?ref_type=heads#L61-67 mkinitcpio.conf (lines 61-67) - mkinitcpio - Arch Linux GitLab]</ref><ref>[https://github.com/anatol/booster/blob/master/docs/manpage.md?plain=1#L57 manpage.md (line 57) - booster - GitHub]</ref>, [[SquashFS|<code>squashfs-tools</code>]]<ref>[https://github.com/plougher/squashfs-tools/blob/master/squashfs-tools/compressor.c#L31-L77 compressor.c (lines 31-77) - squashfs-tools - GitHub]</ref> and finally as a specific switch <code>-J</code> or <code>--xz</code> in GNU [[tar]]<ref>[https://www.gnu.org/software/tar/manual/tar.html#gzip - 8.1.1 Creating and Reading Compressed Archives - GNU tar 1.35 online manual (single page) - gnu.org]</ref>  under [[Linux]].  
  
 
== Identification ==
 
== 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.)
+
XZ files always have lengths that are multiples of 4 bytes, and they begin with a 6-byte "magic" sequence of (hex) {{magic|FD 37 7A 58 5A 00}} and end with footer "magic bytes" of {{magic|59 5A}}. (The ending bytes can be verified as a sign that the file has not been truncated in transmission.)
  
 
== Software ==
 
== Software ==
Line 24: Line 28:
 
== Sample files ==
 
== Sample files ==
 
* {{DexvertSamples|archive/xz}}
 
* {{DexvertSamples|archive/xz}}
 +
* [https://discmaster.textfiles.com/search?mode=deep&extension=.xz&family=archive&format=xz Search results of files with .xz extension, belongs to archive family and is the format xz - Discmaster.textfiles.com]
  
== References ==
+
== Links ==
* [http://tukaani.org/xz/xz-file-format.txt Current spec]
+
* [https://tukaani.org/xz/xz-file-format.txt Current spec]
* [http://tukaani.org/xz/format.html Official site] (has historical specs with other info)
+
* [https://tukaani.org/xz/format.html Official site] (has historical specs with other info)
 
* [[Wikipedia:xz|Wikipedia article]]
 
* [[Wikipedia:xz|Wikipedia article]]
* [http://www.nongnu.org/lzip/xz_inadequate.html Xz format inadequate for long-term archiving] - Analysis of weaknesses and design errors in the xz format, by the author of another format
+
* [https://www.nongnu.org/lzip/xz_inadequate.html Xz format inadequate for long-term archiving] - Analysis of weaknesses and design errors in the xz format, by the author of another format
 +
 
 +
== References ==
 +
<references/>

Revision as of 08:08, 16 August 2025

File Format
Name XZ
Ontology
Extension(s) .xz
MIME Type(s) application/x-xz
PRONOM fmt/1098
Wikidata ID Q162839
Compression lossless, mandatory
Magic Bytes FD 37 7A 58 5A 00
Released 2009[1]

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] and finally as a specific switch -J or --xz in GNU tar[7] under Linux.

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

Sample files

Links

References

  1. The .xz File Format - Version 1.0.0 (2009-01-14) - tukaani.org
  2. extract-vmlinux shell script (line 52) - Linus Torvalds' kernel - GitHub
  3. dracut.conf.5.adoc - dracut-ng manual pages - GitHub
  4. mkinitcpio.conf (lines 61-67) - mkinitcpio - Arch Linux GitLab
  5. manpage.md (line 57) - booster - GitHub
  6. compressor.c (lines 31-77) - squashfs-tools - GitHub
  7. - 8.1.1 Creating and Reading Compressed Archives - GNU tar 1.35 online manual (single page) - gnu.org
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox