Merging upstream version 1.1~rc2.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
a8d17e4a46
commit
950a431716
22 changed files with 1309 additions and 1071 deletions
168
doc/clzip.info
168
doc/clzip.info
|
@ -12,17 +12,17 @@ File: clzip.info, Node: Top, Next: Introduction, Up: (dir)
|
|||
Clzip Manual
|
||||
************
|
||||
|
||||
This manual is for Clzip (version 1.0, 5 April 2010).
|
||||
This manual is for Clzip (version 1.1-rc2, 7 December 2010).
|
||||
|
||||
* Menu:
|
||||
|
||||
* Introduction:: Purpose and features of clzip
|
||||
* Algorithm:: How clzip compresses the data
|
||||
* Invoking Clzip:: Command line interface
|
||||
* File Format:: Detailed format of the compressed file
|
||||
* Examples:: A small tutorial with examples
|
||||
* Problems:: Reporting bugs
|
||||
* Concept Index:: Index of concepts
|
||||
* Introduction:: Purpose and features of clzip
|
||||
* Algorithm:: How clzip compresses the data
|
||||
* Invoking Clzip:: Command line interface
|
||||
* File Format:: Detailed format of the compressed file
|
||||
* Examples:: A small tutorial with examples
|
||||
* Problems:: Reporting bugs
|
||||
* Concept Index:: Index of concepts
|
||||
|
||||
|
||||
Copyright (C) 2010 Antonio Diaz Diaz.
|
||||
|
@ -74,10 +74,12 @@ multivolume compressed tar archives.
|
|||
or 2 times the dictionary size limit (1 if input file size is less than
|
||||
dictionary size limit, else 2) plus 8 times the dictionary size really
|
||||
used. For decompression it is a little more than the dictionary size
|
||||
really used. Clzip will automatically use the smallest possible
|
||||
dictionary size without exceeding the given limit. It is important to
|
||||
appreciate that the decompression memory requirement is affected at
|
||||
compression time by the choice of dictionary size limit.
|
||||
really used.
|
||||
|
||||
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.
|
||||
|
||||
When decompressing, clzip attempts to guess the name for the
|
||||
decompressed file from that of the compressed file as follows:
|
||||
|
@ -109,14 +111,12 @@ File: clzip.info, Node: Algorithm, Next: Invoking Clzip, Prev: Introduction,
|
|||
***********
|
||||
|
||||
Clzip implements a simplified version of the LZMA (Lempel-Ziv-Markov
|
||||
chain-Algorithm) algorithm. The original LZMA algorithm was designed by
|
||||
Igor Pavlov.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
Clzip is a two stage compressor. The first stage is a Lempel-Ziv
|
||||
coder, which reduces redundancy by translating chunks of data to their
|
||||
|
@ -158,6 +158,13 @@ member or volume size limits are reached.
|
|||
|
||||
10) If there are more data to compress, go back to step 1.
|
||||
|
||||
|
||||
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).
|
||||
|
||||
|
||||
File: clzip.info, Node: Invoking Clzip, Next: File Format, Prev: Algorithm, Up: Top
|
||||
|
||||
|
@ -170,49 +177,50 @@ The format for running clzip is:
|
|||
|
||||
Clzip supports the following options:
|
||||
|
||||
`--help'
|
||||
`-h'
|
||||
`--help'
|
||||
Print an informative help message describing the options and exit.
|
||||
|
||||
`--version'
|
||||
`-V'
|
||||
`--version'
|
||||
Print the version number of clzip on the standard output and exit.
|
||||
|
||||
`--member-size=SIZE'
|
||||
`-b SIZE'
|
||||
`--member-size=SIZE'
|
||||
Produce a multimember file and set the member size limit to SIZE
|
||||
bytes. Minimum member size limit is 100kB. Small member size may
|
||||
degrade compression ratio, so use it only when needed. The default
|
||||
is to produce single member files.
|
||||
is to produce single-member files.
|
||||
|
||||
`--stdout'
|
||||
`-c'
|
||||
`--stdout'
|
||||
Compress or decompress to standard output. Needed when reading
|
||||
from a named pipe (fifo) or from a device. Use it to recover as
|
||||
much of the uncompressed data as possible when decompressing a
|
||||
corrupt file.
|
||||
|
||||
`--decompress'
|
||||
`-d'
|
||||
`--decompress'
|
||||
Decompress.
|
||||
|
||||
`--force'
|
||||
`-f'
|
||||
`--force'
|
||||
Force overwrite of output file.
|
||||
|
||||
`--keep'
|
||||
`-k'
|
||||
`--keep'
|
||||
Keep (don't delete) input files during compression or
|
||||
decompression.
|
||||
|
||||
`--match-length=LENGTH'
|
||||
`-m LENGTH'
|
||||
Set the match length limit in bytes. Valid values range from 5 to
|
||||
273. Larger values usually give better compression ratios but
|
||||
longer compression times.
|
||||
`--match-length=LENGTH'
|
||||
Set the match length limit in bytes. After a match this long is
|
||||
found, the search is finished. Valid values range from 5 to 273.
|
||||
Larger values usually give better compression ratios but longer
|
||||
compression times.
|
||||
|
||||
`--output=FILE'
|
||||
`-o FILE'
|
||||
`--output=FILE'
|
||||
When reading from standard input and `--stdout' has not been
|
||||
specified, use `FILE' as the virtual name of the uncompressed
|
||||
file. This produces a file named `FILE' when decompressing, a file
|
||||
|
@ -220,20 +228,25 @@ The format for running clzip is:
|
|||
`FILE00001.lz', `FILE00002.lz', etc, when compressing and
|
||||
splitting the output in volumes.
|
||||
|
||||
`--quiet'
|
||||
`-q'
|
||||
`--quiet'
|
||||
Quiet operation. Suppress all messages.
|
||||
|
||||
`--dictionary-size=SIZE'
|
||||
`-s SIZE'
|
||||
`--dictionary-size=SIZE'
|
||||
Set the dictionary size limit in bytes. Valid values range from
|
||||
4KiB to 512MiB. Clzip will use the smallest possible dictionary
|
||||
size for each member without exceeding this limit. Note that
|
||||
dictionary sizes are quantized. If the specified size does not
|
||||
match one of the valid sizes, it will be rounded upwards.
|
||||
|
||||
`--volume-size=SIZE'
|
||||
For maximum compression you should use a dictionary size limit as
|
||||
large as possible, but keep in mind that the decompression memory
|
||||
requirement is affected at compression time by the choice of
|
||||
dictionary size limit.
|
||||
|
||||
`-S SIZE'
|
||||
`--volume-size=SIZE'
|
||||
Split the compressed output into several volume files with names
|
||||
`original_name00001.lz', `original_name00002.lz', etc, and set the
|
||||
volume size limit to SIZE bytes. Each volume is a complete, maybe
|
||||
|
@ -241,15 +254,15 @@ The format for running clzip is:
|
|||
volume size may degrade compression ratio, so use it only when
|
||||
needed.
|
||||
|
||||
`--test'
|
||||
`-t'
|
||||
`--test'
|
||||
Check integrity of the specified file(s), but don't decompress
|
||||
them. This really performs a trial decompression and throws away
|
||||
the result. Use `-tvv' or `-tvvv' to see information about the
|
||||
file.
|
||||
the result. Use it together with `-v' to see information about
|
||||
the file.
|
||||
|
||||
`--verbose'
|
||||
`-v'
|
||||
`--verbose'
|
||||
Verbose mode. Show the compression ratio for each file processed.
|
||||
Further -v's increase the verbosity level.
|
||||
|
||||
|
@ -258,15 +271,21 @@ The format for running clzip is:
|
|||
limit) as shown in the table below. Note that `-9' can be much
|
||||
slower than `-1'. These options have no effect when decompressing.
|
||||
|
||||
The bidimensional parameter space of LZMA can't be mapped to a
|
||||
linear scale optimal for all files. If your files are large, very
|
||||
repetitive, etc, you may need to use the `--match-length' and
|
||||
`--dictionary-size' options directly to achieve optimal
|
||||
performance.
|
||||
|
||||
Level Dictionary size Match length limit
|
||||
-1 1 MiB 10 bytes
|
||||
-2 1.5 MiB 12 bytes
|
||||
-3 2 MiB 17 bytes
|
||||
-4 3 MiB 26 bytes
|
||||
-5 4 MiB 44 bytes
|
||||
-6 8 MiB 80 bytes
|
||||
-7 16 MiB 108 bytes
|
||||
-8 24 MiB 163 bytes
|
||||
-1 1 MiB 5 bytes
|
||||
-2 1.5 MiB 6 bytes
|
||||
-3 2 MiB 8 bytes
|
||||
-4 3 MiB 12 bytes
|
||||
-5 4 MiB 20 bytes
|
||||
-6 8 MiB 36 bytes
|
||||
-7 16 MiB 68 bytes
|
||||
-8 24 MiB 132 bytes
|
||||
-9 32 MiB 273 bytes
|
||||
|
||||
`--fast'
|
||||
|
@ -321,7 +340,7 @@ additional information before, between, or after them.
|
|||
All multibyte values are stored in little endian order.
|
||||
|
||||
`ID string'
|
||||
A four byte string, identifying the member type, with the value
|
||||
A four byte string, identifying the lzip format, with the value
|
||||
"LZIP".
|
||||
|
||||
`VN (version number, 1 byte)'
|
||||
|
@ -358,9 +377,12 @@ File: clzip.info, Node: Examples, Next: Problems, Prev: File Format, Up: Top
|
|||
5 A small tutorial with examples
|
||||
********************************
|
||||
|
||||
WARNING! If your data is important, give the `--keep' option to clzip
|
||||
and do not remove the original file until you verify the compressed
|
||||
file with a command like `clzip -cd file.lz | cmp file -'.
|
||||
WARNING! Even if clzip is bug-free, other causes may result in a corrupt
|
||||
compressed file (bugs in the system libraries, memory errors, etc).
|
||||
Therefore, if the data you are going to compress is important give the
|
||||
`--keep' option to clzip and do not remove the original file until you
|
||||
verify the compressed file with a command like
|
||||
`clzip -cd file.lz | cmp file -'.
|
||||
|
||||
|
||||
Example 1: Replace a regular file with its compressed version file.lz
|
||||
|
@ -370,29 +392,47 @@ and show the compression ratio.
|
|||
|
||||
|
||||
Example 2: Like example 1 but the created file.lz is multimember with a
|
||||
member size of 1MiB.
|
||||
member size of 1MiB. The compression ratio is not shown.
|
||||
|
||||
clzip -b 1MiB file
|
||||
|
||||
|
||||
Example 3: Compress a whole floppy in /dev/fd0 and send the output to
|
||||
Example 3: Restore a regular file from its compressed version file.lz.
|
||||
If the operation is successful, file.lz is removed.
|
||||
|
||||
clzip -d file.lz
|
||||
|
||||
|
||||
Example 4: Verify the integrity of the compressed file file.lz and show
|
||||
status.
|
||||
|
||||
clzip -tv file.lz
|
||||
|
||||
|
||||
Example 5: Compress a whole floppy in /dev/fd0 and send the output to
|
||||
file.lz.
|
||||
|
||||
clzip -c /dev/fd0 > file.lz
|
||||
|
||||
|
||||
Example 4: Create a multivolume compressed tar archive with a volume
|
||||
Example 6: Decompress file.lz partially until 10KiB of decompressed data
|
||||
are produced.
|
||||
|
||||
clzip -cd file.lz | dd bs=1024 count=10
|
||||
|
||||
|
||||
Example 7: Create a multivolume compressed tar archive with a volume
|
||||
size of 1440KiB.
|
||||
|
||||
tar -c some_directory | clzip -S 1440KiB -o volume_name
|
||||
|
||||
|
||||
Example 5: Extract a multivolume compressed tar archive.
|
||||
Example 8: Extract a multivolume compressed tar archive.
|
||||
|
||||
clzip -cd volume_name*.lz | tar -xf -
|
||||
|
||||
|
||||
Example 6: Create a multivolume compressed backup of a big database file
|
||||
Example 9: Create a multivolume compressed backup of a big database file
|
||||
with a volume size of 650MB, where each volume is a multimember file
|
||||
with a member size of 32MiB.
|
||||
|
||||
|
@ -437,12 +477,12 @@ Concept Index
|
|||
|
||||
Tag Table:
|
||||
Node: Top226
|
||||
Node: Introduction830
|
||||
Node: Algorithm4377
|
||||
Node: Invoking Clzip6608
|
||||
Node: File Format10964
|
||||
Node: Examples12920
|
||||
Node: Problems14097
|
||||
Node: Concept Index14623
|
||||
Node: Introduction905
|
||||
Node: Algorithm4439
|
||||
Node: Invoking Clzip6963
|
||||
Node: File Format11904
|
||||
Node: Examples13860
|
||||
Node: Problems15629
|
||||
Node: Concept Index16155
|
||||
|
||||
End Tag Table
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue