~ubuntu-branches/ubuntu/vivid/emscripten/vivid

« back to all changes in this revision

Viewing changes to third_party/lzma.js/lzip/README

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-02 13:11:51 UTC
  • Revision ID: package-import@ubuntu.com-20130502131151-q8dvteqr1ef2x7xz
Tags: upstream-1.4.1~20130504~adb56cb
ImportĀ upstreamĀ versionĀ 1.4.1~20130504~adb56cb

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Description
 
2
 
 
3
Lzip is a lossless data compressor based on the LZMA algorithm, with
 
4
very safe integrity checking and a user interface similar to the one of
 
5
gzip or bzip2. Lzip decompresses almost as fast as gzip and compresses
 
6
better than bzip2, which makes it well suited for software distribution
 
7
and data archiving.
 
8
 
 
9
Lziprecover is a data recovery tool for lzip compressed files able to
 
10
repair slightly damaged files, recover badly damaged files from two or
 
11
more copies, and extract undamaged members from multi-member files. If
 
12
the cause of file corruption is damaged media, the combination GNU
 
13
ddrescue + lziprecover is the best option for recovering data from
 
14
multiple damaged copies.
 
15
 
 
16
Lzip replaces every file given in the command line with a compressed
 
17
version of itself, with the name "original_name.lz". Each compressed
 
18
file has the same modification date, permissions, and, when possible,
 
19
ownership as the corresponding original, so that these properties can be
 
20
correctly restored at decompression time. Lzip is able to read from some
 
21
types of non regular files if the "--stdout" option is specified.
 
22
 
 
23
If no file names are specified, lzip compresses (or decompresses) from
 
24
standard input to standard output. In this case, lzip will decline to
 
25
write compressed output to a terminal, as this would be entirely
 
26
incomprehensible and therefore pointless.
 
27
 
 
28
Lzip will correctly decompress a file which is the concatenation of two
 
29
or more compressed files. The result is the concatenation of the
 
30
corresponding uncompressed files. Integrity testing of concatenated
 
31
compressed files is also supported.
 
32
 
 
33
Lzip can produce multimember files and safely recover, with lziprecover,
 
34
the undamaged members in case of file damage. Lzip can also split the
 
35
compressed output in volumes of a given size, even when reading from
 
36
standard input. This allows the direct creation of multivolume
 
37
compressed tar archives.
 
38
 
 
39
Lzip will automatically use the smallest possible dictionary size
 
40
without exceeding the given limit. Keep in mind that the decompression
 
41
memory requirement is affected at compression time by the choice of
 
42
dictionary size limit.
 
43
 
 
44
As a self-check for your protection, lzip stores in the member trailer
 
45
the 32-bit CRC of the original data and the size of the original data,
 
46
to make sure that the decompressed version of the data is identical to
 
47
the original. This guards against corruption of the compressed data, and
 
48
against undetected bugs in lzip (hopefully very unlikely). The chances
 
49
of data corruption going undetected are microscopic, less than one
 
50
chance in 4000 million for each member processed. Be aware, though, that
 
51
the check occurs upon decompression, so it can only tell you that
 
52
something is wrong. It can't help you recover the original uncompressed
 
53
data.
 
54
 
 
55
Lzip implements a simplified version of the LZMA (Lempel-Ziv-Markov
 
56
chain-Algorithm) algorithm. The high compression of LZMA comes from
 
57
combining two basic, well-proven compression ideas: sliding dictionaries
 
58
(LZ77/78) and markov models (the thing used by every compression
 
59
algorithm that uses a range encoder or similar order-0 entropy coder as
 
60
its last stage) with segregation of contexts according to what the bits
 
61
are used for.
 
62
 
 
63
The ideas embodied in lzip are due to (at least) the following people:
 
64
Abraham Lempel and Jacob Ziv (for the LZ algorithm), Andrey Markov (for
 
65
the definition of Markov chains), G.N.N. Martin (for the definition of
 
66
range encoding), Igor Pavlov (for putting all the above together in
 
67
LZMA), and Julian Seward (for bzip2's CLI and the idea of unzcrash).
 
68
 
 
69
 
 
70
Copyright (C) 2008, 2009, 2010, 2011 Antonio Diaz Diaz.
 
71
 
 
72
This file is free documentation: you have unlimited permission to copy,
 
73
distribute and modify it.
 
74
 
 
75
The file Makefile.in is a data file used by configure to produce the
 
76
Makefile. It has the same copyright owner and permissions that configure
 
77
itself.