lzip is a free, command-line tool for the compression of data; it employs the Lempel–Ziv–Markov chain algorithm with a user interface that is familiar to users of usual Unix compression tools, such as gzip and bzip2. Like gzip and bzip2, concatenation is supported to compress multiple files, but the convention is to bundle a file that is an archive itself, such as those created by the tar or cpio Unix programs. Lzip can split the output for the creation of multivolume archives. The file that is produced by lzip is usually given .lz as its filename extension, and the data is described by the media typeapplication/lzip. The lzip suite of programs was written in C++ and C by Antonio Diaz Diaz and is being distributed as free software under the terms of version 2 or later of the GNU General Public License.
History
was released in 2000; a tool employing LZMA first became available on Unix-likeoperating systems in 2004 when a port of the command-line version of 7-Zip was released. In the same year, the LZMA SDK became available, which included the program called “lzma_alone”; less than a year later, Lasse Collin released LZMA Utils, which at first only consisted of a set of wrapper scripts implementing a gzip-like interface to lzma_alone. In 2008, Antonio Diaz Diaz released lzip, which uses a proper container format with checksums and magic numbers instead of the raw LZMA data stream, providing a complete Unix-style solution for using LZMA. Nevertheless, LZMA Utils was extended to have similar features and then renamed to XZ Utils.
Features
File integrity
lzip is capable of creating archives with independently decompressible data sections called a "multimember archive". For example, if the underlying file is a tar archive, this can allow extracting any undamaged files, even if other parts of the archive are damaged. As for the file format, special emphasis has been put on enabling integrity checks by means of an integrated 32-bit checksum for each compressed stream; this is used in combination with the lziprecover program to detect and reconstruct damaged data. This recovery tool can merge multiple copies of an archive where each copy may have damage in a different part of the file.
Parallelism
lzip has two parallel interfaces provided in the default distribution.
compresses any file in a parallel way. Using it with is insufficient, since the conventional program needs the entire stream before a file to locate it for decompression, resulting in non-parallel extraction.
combines and into a parallel archiver much like modern archivers like RAR or 7-Zip. The solid compression blocks align with file boundaries, so extracing a file only requires decompressing that particular member block.
Adoption
Availability
In popular Linux distributions, lzip can usually be installed from official package repositories. Cygwin offers lzip as a maintained optional package, and its GNU tarutility program has support for.lz archives. MinGW-w64 distributes lzip through a maintained package in MSYS2. Lzip is also available for Android in a terminal-interface which was ported by Master-Console Inc.
Support
The GNU Autotools support lzip. Adding dist-lzip to AM_INIT_AUTOMAKE will build lzip-ed tarballs.
Versions 1.23 and newer of GNU tar support using lzip to handle compressed files transparently.