This articlemay rely excessively on sourcestoo closely associated with the subject, potentially preventing the article from beingverifiable andneutral. Please helpimprove it by replacing them with more appropriatecitations toreliable, independent sources.(October 2013) (Learn how and when to remove this message) |
| lzip | |
|---|---|
| Developer | Antonio Diaz Diaz |
| Initial release | 2008; 18 years ago (2008) |
| Stable release | 1.25 / January 17, 2025; 12 months ago (2025-01-17) |
| Written in | C++ orC |
| Operating system | Unix-like,Windows,Android |
| Type | Data compression |
| License | GPLv2+ (Free software) |
| Website | www |
| Repository | none |
| lzip | |
|---|---|
| Filename extension | .lz |
| Internet media type | application/lzip |
| Magic number | 0x4C, 0x5A, 0x49, 0x50 |
| Developed by | Antonio Diaz Diaz |
| Type of format | Data compression |
| Open format? | Yes |
lzip is afree,command-line tool for the compression of data; it employs theLempel–Ziv–Markov chain algorithm (LZMA) with a user interface that is familiar to users of usual Unix compression tools, such asgzip andbzip2.
Likegzip andbzip2,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 thetar orcpioUnix programs. Lzip can split the output for the creation of multivolume archives.
The file that is produced by lzip is usually given.lz as itsfilename extension, and the data is described by themedia typeapplication/lzip.
The lzip suite of programs was written inC++ andC by Antonio Diaz Diaz and is being distributed asfree software under the terms of version 2 or later of theGNU General Public License (GPL).
7-Zip was released in 2000; a tool employing LZMA first became available onUnix-like operating systems in 2004 when a port of the command-line version of 7-Zip (p7zip) was released. In the same year, the LZMASDK became available, which included the program called “lzma_alone”; less than a year later, Lasse Collin releasedLZMA 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 acontainer format with checksums andmagic 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 toXZ Utils.[1]
lzip is capable of creating archives with independently decompressible data sections called a "multimember archive" (as well as split output for the creation of multivolume archives).[2] 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 enablingintegrity checks by means of an integrated 32-bitchecksum for each compressed stream;[3] 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.[2]
lzip has two parallel interfaces provided in the default distribution.[4]
plzip compresses any file in a parallel way. Using it withtar is insufficient, since the conventionaltar program needs the entire stream before a file to locate it for decompression, resulting in non-parallel extraction.tarlz combinestar andlzip into a parallel archiver much like modern archivers like RAR or 7-Zip. Thesolid compression blocks align withtar file boundaries, so extracting a file only requires decompressing that particular member block.In popular Linux distributions, lzip can usually be installed from official package repositories.[5][6][7]
Cygwin offers lzip as a maintained optional package (Archive category of its setup installer), and its GNU tar utility program has support for .lz archives (with --lzip option for creation).MinGW-w64 distributes lzip through a maintained package inMSYS2 (pacman -S lzip).
dist-lzip toAM_INIT_AUTOMAKE will build lzip-edtarballs.[8]Lzip can produce multimember files and safely recover, with lziprecover, the undamaged members in case of file damage. Lzip can also split the compressed output in volumes of a given size, even when reading from standard input. This allows the direct creation of multivolume compressed tar archives.
As a self-check for your protection, lzip stores in the member trailer the 32-bit CRC of the original data and the size of the original data, to make sure that the decompressed version of the data is identical to the original.