78 lines
3.7 KiB
Text
78 lines
3.7 KiB
Text
Description
|
|
|
|
Clzip is a lossless data compressor based on the LZMA algorithm, with
|
|
very safe integrity checking and a user interface similar to the one of
|
|
gzip or bzip2. Clzip decompresses almost as fast as gzip and compresses
|
|
better than bzip2, which makes it well suited for software distribution
|
|
and data archiving.
|
|
|
|
Clzip uses the lzip file format; the files produced by clzip are fully
|
|
compatible with lzip-1.4 or newer. Clzip is in fact a C language version
|
|
of lzip, intended for embedded devices or systems lacking a C++
|
|
compiler.
|
|
|
|
If you ever need to recover data from a damaged lzip file, try the
|
|
lziprecover program.
|
|
|
|
Clzip replaces every file given in the command line with a compressed
|
|
version of itself, with the name "original_name.lz". Each compressed
|
|
file has the same modification date, permissions, and, when possible,
|
|
ownership as the corresponding original, so that these properties can be
|
|
correctly restored at decompression time. Clzip is able to read from some
|
|
types of non regular files if the "--stdout" option is specified.
|
|
|
|
If no file names are specified, clzip compresses (or decompresses) from
|
|
standard input to standard output. In this case, clzip will decline to
|
|
write compressed output to a terminal, as this would be entirely
|
|
incomprehensible and therefore pointless.
|
|
|
|
Clzip will correctly decompress a file which is the concatenation of two
|
|
or more compressed files. The result is the concatenation of the
|
|
corresponding uncompressed files. Integrity testing of concatenated
|
|
compressed files is also supported.
|
|
|
|
Clzip can produce multi-member files and safely recover, with
|
|
lziprecover, the undamaged members in case of file damage. Clzip 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.
|
|
|
|
Clzip will automatically use the smallest possible dictionary size
|
|
without exceeding the given limit. Keep in mind that the decompression
|
|
memory requirement is affected at compression time by the choice of
|
|
dictionary size limit.
|
|
|
|
As a self-check for your protection, clzip 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. This guards against corruption of the compressed data, and
|
|
against undetected bugs in clzip (hopefully very unlikely). The chances
|
|
of data corruption going undetected are microscopic, less than one
|
|
chance in 4000 million for each member processed. Be aware, though, that
|
|
the check occurs upon decompression, so it can only tell you that
|
|
something is wrong. It can't help you recover the original uncompressed
|
|
data.
|
|
|
|
Clzip implements a simplified version of the LZMA (Lempel-Ziv-Markov
|
|
chain-Algorithm) algorithm. The high compression of LZMA comes from
|
|
combining two basic, well-proven compression ideas: sliding dictionaries
|
|
(LZ77/78) and markov models (the thing used by every compression
|
|
algorithm that uses a range encoder or similar order-0 entropy coder as
|
|
its last stage) with segregation of contexts according to what the bits
|
|
are used for.
|
|
|
|
The ideas embodied in clzip are due to (at least) the following people:
|
|
Abraham Lempel and Jacob Ziv (for the LZ algorithm), Andrey Markov (for
|
|
the definition of Markov chains), G.N.N. Martin (for the definition of
|
|
range encoding), Igor Pavlov (for putting all the above together in
|
|
LZMA), and Julian Seward (for bzip2's CLI and the idea of unzcrash).
|
|
|
|
|
|
Copyright (C) 2010, 2011, 2012 Antonio Diaz Diaz.
|
|
|
|
This file is free documentation: you have unlimited permission to copy,
|
|
distribute and modify it.
|
|
|
|
The file Makefile.in is a data file used by configure to produce the
|
|
Makefile. It has the same copyright owner and permissions that configure
|
|
itself.
|