xz
Filename extension |
.xz |
---|---|
Internet media type |
application/x-xz |
Uniform Type Identifier (UTI) | org.tukaani.xz-archive |
Magic number | 0xFD, '7', 'z', 'X', 'Z', 0x00 |
Developed by | The Tukaani Project |
Latest release |
1.0.4 (27 August 2009 ) |
Open format? | Yes |
Website |
tukaani |
Developer(s) | The Tukaani Project |
---|---|
Stable release |
5.2.2
/ 29 September 2015[1] |
License | Public domain with some portions under LGPL |
Website |
tukaani |
xz is a lossless data compression program and file format which incorporates the LZMA/LZMA2 compression algorithms.
These are the same compression formats used by the 7-Zip program and its command-line version p7zip. However, .xz
has a different file format, which is not compatible with the .7z
format used by 7-Zip; notably, .7z
lacks support for Unix-like file system metadata.[2]
Design
xz compresses/decompresses single files as input, and does not bundle multiple files into a single archive. It is therefore common to compress a file that is itself an archive, such as those created by the tar or cpio Unix programs.[2]
History
Although the original 7-Zip program, which implements LZMA2 compression, is able to produce small files at the cost of speed, it also created its own unique archive format which was made primarily for Windows and did not support Unix functionality.[2]
Implementation
An implementation of the xz file format is freely available online as XZ Utils. It is licensed under the terms of the GNU LGPL and GNU GPL, with the bulk of the software (e.g., liblzma) in the public domain.[3] Starting from 5.2, the command-line program xz
supports multi-threaded operations which were only available in a fork called pxz
previously. Version 1.22 of GNU tar supports using this software to handle xz files transparently.[4][5] FreeBSD tar has supported xz transparently since r191190 (released on April 17, 2009).
7-Zip has supported xz since 2009's version 9.04 beta (stable since 2010's 9.20) and WinRAR since version 5.[6]
Uses
xz has gained notability for compressing packages in the GNU coreutils project,[7] Debian family of systems deb (file format), openSUSE,[8] Fedora,[9] Arch Linux,[10] Slackware,[11] FreeBSD,[12] Gentoo,[13] GNOME,[14] and TeX Live,[15] as well as being an option to compress a compiled Linux kernel.[16] In March 2013, kernel.org announced the use of xz as the default compressed file format for distributing kernel archive files.[17]
See also
References
- ↑ XZ Utils Release Notes (Git), Tukaaani
- 1 2 3 Lindholm, Linux Gazette.
- ↑ XZ Utils Web site
- ↑ GNU tar Web site: References
- ↑ Changelog for Tar 1.22
- ↑ "release history", 7-Zip.
- ↑ "files", Coreutils (FTP), GNU (see version 7.1 and newer files ending in .tar.xz).
- ↑ "openSUSE has moved off of LZMA to xz", News, openSUSE.
- ↑ "XZ RPM payloads", Features (wiki) (12 ed.), Fedora.
- ↑ "Switching to xz compression for new packages", News, Archlinux.
- ↑ Entry (FTP) (changelog) (13.0 ed.), Slackware, May 8, 2009.
- ↑ Stable (mailing list post), Free BSD, Jan 2011.
- ↑ "Remove .lzma in favor of .xz portage snapshots", Dev (mailing list post) (RFC), Gentoo.
- ↑ "Important: Switch of GNOME tarball compression format", Devel (mailing list post), Gnome, Apr 2011.
- ↑ tex-archive/systems/texlive/tlnet/archive (directory), CTAN.
- ↑ xz embedded (Git), Tukaani.
- ↑ "XZ by default and JSON". The Linux Kernel Archives. Linux Kernel Organization, Inc. 2013-03-11.