Merging upstream version 1.16~pre1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
c9bda4fdd7
commit
6a54533419
23 changed files with 520 additions and 446 deletions
|
@ -1,5 +1,5 @@
|
|||
This is lziprecover.info, produced by makeinfo version 4.13 from
|
||||
lziprecover.texinfo.
|
||||
This is lziprecover.info, produced by makeinfo version 4.13+ from
|
||||
lziprecover.texi.
|
||||
|
||||
INFO-DIR-SECTION Data Compression
|
||||
START-INFO-DIR-ENTRY
|
||||
|
@ -12,7 +12,7 @@ File: lziprecover.info, Node: Top, Next: Introduction, Up: (dir)
|
|||
Lziprecover Manual
|
||||
******************
|
||||
|
||||
This manual is for Lziprecover (version 1.15, 14 September 2013).
|
||||
This manual is for Lziprecover (version 1.16-pre1, 5 April 2014).
|
||||
|
||||
* Menu:
|
||||
|
||||
|
@ -27,7 +27,7 @@ This manual is for Lziprecover (version 1.15, 14 September 2013).
|
|||
* Concept index:: Index of concepts
|
||||
|
||||
|
||||
Copyright (C) 2009, 2010, 2011, 2012, 2013 Antonio Diaz Diaz.
|
||||
Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz.
|
||||
|
||||
This manual is free documentation: you have unlimited permission to
|
||||
copy, distribute and modify it.
|
||||
|
@ -43,18 +43,29 @@ lzip compressed data format (.lz), able to repair slightly damaged
|
|||
files, recover badly damaged files from two or more copies, extract data
|
||||
from damaged files, decompress files and test integrity of files.
|
||||
|
||||
The lzip file format is designed for long-term data archiving. It is
|
||||
clean, provides very safe 4 factor integrity checking, and is backed by
|
||||
the recovery capabilities of lziprecover.
|
||||
The lzip file format is designed for long-term data archiving, taking
|
||||
into account both data integrity and decoder availability:
|
||||
|
||||
* The lzip format provides very safe integrity checking and some data
|
||||
recovery means. The lziprecover program can repair bit-flip errors
|
||||
(one of the most common forms of data corruption) in lzip files,
|
||||
and provides data recovery capabilities, including error-checked
|
||||
merging of damaged copies of a file.
|
||||
|
||||
* The lzip format is as simple as possible (but not simpler). The
|
||||
lzip manual provides the code of a simple decompressor along with
|
||||
a detailed explanation of how it works, so that with the only help
|
||||
of the lzip manual it would be possible for a digital
|
||||
archaeologist to extract the data from a lzip file long after
|
||||
quantum computers eventually render LZMA obsolete.
|
||||
|
||||
* Additionally lzip is copylefted, which guarantees that it will
|
||||
remain free forever.
|
||||
|
||||
Lziprecover is able to recover or decompress files produced by any of
|
||||
the compressors in the lzip family; lzip, plzip, minilzip/lzlib, clzip
|
||||
and pdlzip.
|
||||
|
||||
Lziprecover makes lzip files resistant to bit-flip (one of the most
|
||||
common forms of data corruption), and can safely merge multiple damaged
|
||||
backup copies.
|
||||
|
||||
If the cause of file corruption is damaged media, the combination
|
||||
GNU ddrescue + lziprecover is the best option for recovering data from
|
||||
multiple damaged copies. *Note ddrescue-example::, for an example.
|
||||
|
@ -96,113 +107,113 @@ The format for running lziprecover is:
|
|||
|
||||
Lziprecover supports the following options:
|
||||
|
||||
`-h'
|
||||
`--help'
|
||||
'-h'
|
||||
'--help'
|
||||
Print an informative help message describing the options and exit.
|
||||
|
||||
`-V'
|
||||
`--version'
|
||||
'-V'
|
||||
'--version'
|
||||
Print the version number of lziprecover on the standard output and
|
||||
exit.
|
||||
|
||||
`-c'
|
||||
`--stdout'
|
||||
'-c'
|
||||
'--stdout'
|
||||
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.
|
||||
|
||||
`-d'
|
||||
`--decompress'
|
||||
'-d'
|
||||
'--decompress'
|
||||
Decompress.
|
||||
|
||||
`-D RANGE'
|
||||
`--range-decompress=RANGE'
|
||||
'-D RANGE'
|
||||
'--range-decompress=RANGE'
|
||||
Decompress only a range of bytes starting at decompressed byte
|
||||
position `BEGIN' and up to byte position `END - 1'. Three formats
|
||||
of RANGE are recognized, `BEGIN', `BEGIN-END', and `BEGIN,SIZE'.
|
||||
position 'BEGIN' and up to byte position 'END - 1'. Three formats
|
||||
of RANGE are recognized, 'BEGIN', 'BEGIN-END', and 'BEGIN,SIZE'.
|
||||
If only BEGIN is specified, END is taken as the end of the file.
|
||||
The produced bytes are sent to standard output unless the
|
||||
`--output' option is used. In order to guarantee the correctness
|
||||
'--output' option is used. In order to guarantee the correctness
|
||||
of the data produced, all members containing any part of the
|
||||
desired data are decompressed and their integrity is verified.
|
||||
This operation is more efficient in multi-member files because it
|
||||
only decompresses the members containing the desired data.
|
||||
|
||||
`-f'
|
||||
`--force'
|
||||
'-f'
|
||||
'--force'
|
||||
Force overwrite of output files.
|
||||
|
||||
`-i'
|
||||
`--ignore-errors'
|
||||
Make `--range-decompress' ignore data errors and continue
|
||||
'-i'
|
||||
'--ignore-errors'
|
||||
Make '--range-decompress' ignore data errors and continue
|
||||
decompressing the remaining members in the file. For example,
|
||||
`lziprecover -i -D0 file.lz > file' decompresses all the
|
||||
recoverable data in all members of `file.lz' without having to
|
||||
'lziprecover -i -D0 file.lz > file' decompresses all the
|
||||
recoverable data in all members of 'file.lz' without having to
|
||||
split it first.
|
||||
|
||||
`-k'
|
||||
`--keep'
|
||||
'-k'
|
||||
'--keep'
|
||||
Keep (don't delete) input files during decompression.
|
||||
|
||||
`-l'
|
||||
`--list'
|
||||
'-l'
|
||||
'--list'
|
||||
Print total file sizes and ratios. The values produced are correct
|
||||
even for multi-member files. Use it together with `-v' to see
|
||||
even for multi-member files. Use it together with '-v' to see
|
||||
information about the members in the file.
|
||||
|
||||
`-m'
|
||||
`--merge'
|
||||
'-m'
|
||||
'--merge'
|
||||
Try to produce a correct file merging the good parts of two or more
|
||||
damaged copies. If successful, a repaired copy is written to the
|
||||
file `FILE_fixed.lz'. The exit status is 0 if a correct file could
|
||||
be produced, 2 otherwise. See the chapter `Merging files' (*note
|
||||
file 'FILE_fixed.lz'. The exit status is 0 if a correct file could
|
||||
be produced, 2 otherwise. See the chapter 'Merging files' (*note
|
||||
Merging files::) for a complete description of the merge mode.
|
||||
|
||||
`-o FILE'
|
||||
`--output=FILE'
|
||||
Place the output into `FILE' instead of into `FILE_fixed.lz'. If
|
||||
'-o FILE'
|
||||
'--output=FILE'
|
||||
Place the output into 'FILE' instead of into 'FILE_fixed.lz'. If
|
||||
splitting, the names of the files produced are in the form
|
||||
`rec01FILE', `rec02FILE', etc. If decompressing from standard
|
||||
input and `--stdout' has not been specified, use `FILE' as the
|
||||
'rec01FILE', 'rec02FILE', etc. If decompressing from standard
|
||||
input and '--stdout' has not been specified, use 'FILE' as the
|
||||
name of the decompressed file.
|
||||
|
||||
`-q'
|
||||
`--quiet'
|
||||
'-q'
|
||||
'--quiet'
|
||||
Quiet operation. Suppress all messages.
|
||||
|
||||
`-R'
|
||||
`--repair'
|
||||
'-R'
|
||||
'--repair'
|
||||
Try to repair a file with small errors (up to one byte error per
|
||||
member). If successful, a repaired copy is written to the file
|
||||
`FILE_fixed.lz'. `FILE' is not modified at all. The exit status
|
||||
'FILE_fixed.lz'. 'FILE' is not modified at all. The exit status
|
||||
is 0 if the file could be repaired, 2 otherwise. See the chapter
|
||||
`Repairing files' (*note Repairing files::) for a complete
|
||||
'Repairing files' (*note Repairing files::) for a complete
|
||||
description of the repair mode.
|
||||
|
||||
`-s'
|
||||
`--split'
|
||||
Search for members in `FILE' and write each member in its own
|
||||
`.lz' file. You can then use `lziprecover -t' to test the
|
||||
'-s'
|
||||
'--split'
|
||||
Search for members in 'FILE' and write each member in its own
|
||||
'.lz' file. You can then use 'lziprecover -t' to test the
|
||||
integrity of the resulting files, decompress those which are
|
||||
undamaged, and try to repair or partially decompress those which
|
||||
are damaged.
|
||||
|
||||
The names of the files produced are in the form `rec01FILE.lz',
|
||||
`rec02FILE.lz', etc, and are designed so that the use of wildcards
|
||||
The names of the files produced are in the form 'rec01FILE.lz',
|
||||
'rec02FILE.lz', etc, and are designed so that the use of wildcards
|
||||
in subsequent processing, for example,
|
||||
`lziprecover -cd rec*FILE.lz > recovered_data', processes the
|
||||
'lziprecover -cd rec*FILE.lz > recovered_data', processes the
|
||||
files in the correct order. The number of digits used in the names
|
||||
varies depending on the number of members in `FILE'.
|
||||
varies depending on the number of members in 'FILE'.
|
||||
|
||||
`-t'
|
||||
`--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 it together with `-v' to see information about
|
||||
the result. Use it together with '-v' to see information about
|
||||
the file.
|
||||
|
||||
`-v'
|
||||
`--verbose'
|
||||
'-v'
|
||||
'--verbose'
|
||||
Verbose mode.
|
||||
When decompressing or testing, further -v's (up to 4) increase the
|
||||
verbosity level, showing status, compression ratio, dictionary
|
||||
|
@ -211,7 +222,7 @@ The format for running lziprecover is:
|
|||
|
||||
|
||||
Numbers given as arguments to options may be followed by a multiplier
|
||||
and an optional `B' for "byte".
|
||||
and an optional 'B' for "byte".
|
||||
|
||||
Table of SI and binary prefixes (unit multipliers):
|
||||
|
||||
|
@ -239,7 +250,7 @@ File: lziprecover.info, Node: Repairing files, Next: Merging files, Prev: Inv
|
|||
|
||||
Lziprecover is able to repair files with small errors (up to one byte
|
||||
error per member). The error may be located anywhere in the file except
|
||||
in the header (first 6 bytes of each member) or in the `Member size'
|
||||
in the header (first 6 bytes of each member) or in the 'Member size'
|
||||
field of the trailer (last 8 bytes of each member). This makes lzip
|
||||
files resistant to bit-flip, one of the most common forms of data
|
||||
corruption.
|
||||
|
@ -323,15 +334,15 @@ additional information before, between, or after them.
|
|||
|
||||
All multibyte values are stored in little endian order.
|
||||
|
||||
`ID string'
|
||||
'ID string'
|
||||
A four byte string, identifying the lzip format, with the value
|
||||
"LZIP" (0x4C, 0x5A, 0x49, 0x50).
|
||||
|
||||
`VN (version number, 1 byte)'
|
||||
'VN (version number, 1 byte)'
|
||||
Just in case something needs to be modified in the future. 1 for
|
||||
now.
|
||||
|
||||
`DS (coded dictionary size, 1 byte)'
|
||||
'DS (coded dictionary size, 1 byte)'
|
||||
Lzip divides the distance between any two powers of 2 into 8
|
||||
equally spaced intervals, named "wedges". The dictionary size is
|
||||
calculated by taking a power of 2 (the base size) and substracting
|
||||
|
@ -343,18 +354,18 @@ additional information before, between, or after them.
|
|||
Example: 0xD3 = 2^19 - 6 * 2^15 = 512 KiB - 6 * 32 KiB = 320 KiB
|
||||
Valid values for dictionary size range from 4 KiB to 512 MiB.
|
||||
|
||||
`Lzma stream'
|
||||
'Lzma stream'
|
||||
The lzma stream, finished by an end of stream marker. Uses default
|
||||
values for encoder properties. See the lzip manual for a full
|
||||
description.
|
||||
|
||||
`CRC32 (4 bytes)'
|
||||
'CRC32 (4 bytes)'
|
||||
CRC of the uncompressed original data.
|
||||
|
||||
`Data size (8 bytes)'
|
||||
'Data size (8 bytes)'
|
||||
Size of the uncompressed original data.
|
||||
|
||||
`Member size (8 bytes)'
|
||||
'Member size (8 bytes)'
|
||||
Total size of the member, including header and trailer. This field
|
||||
acts as a distributed index, allows the verification of stream
|
||||
integrity, and facilitates safe recovery of undamaged members from
|
||||
|
@ -368,30 +379,30 @@ File: lziprecover.info, Node: Examples, Next: Unzcrash, Prev: File format, U
|
|||
********************************
|
||||
|
||||
Example 1: Restore a regular file from its compressed version
|
||||
`file.lz'. If the operation is successful, `file.lz' is removed.
|
||||
'file.lz'. If the operation is successful, 'file.lz' is removed.
|
||||
|
||||
lziprecover -d file.lz
|
||||
|
||||
|
||||
Example 2: Verify the integrity of the compressed file `file.lz' and
|
||||
Example 2: Verify the integrity of the compressed file 'file.lz' and
|
||||
show status.
|
||||
|
||||
lziprecover -tv file.lz
|
||||
|
||||
|
||||
Example 3: Decompress `file.lz' partially until 10 KiB of decompressed
|
||||
Example 3: Decompress 'file.lz' partially until 10 KiB of decompressed
|
||||
data are produced.
|
||||
|
||||
lziprecover -D 0,10KiB file.lz
|
||||
|
||||
|
||||
Example 4: Decompress `file.lz' partially from decompressed byte 10000
|
||||
Example 4: Decompress 'file.lz' partially from decompressed byte 10000
|
||||
to decompressed byte 15000 (5000 bytes are produced).
|
||||
|
||||
lziprecover -D 10000-15000 file.lz
|
||||
|
||||
|
||||
Example 5: Repair small errors in the file `file.lz'. (Indented lines
|
||||
Example 5: Repair small errors in the file 'file.lz'. (Indented lines
|
||||
are abridged diagnostic messages from lziprecover).
|
||||
|
||||
lziprecover -v -R file.lz
|
||||
|
@ -399,8 +410,8 @@ are abridged diagnostic messages from lziprecover).
|
|||
mv file_fixed.lz file.lz
|
||||
|
||||
|
||||
Example 6: Split the multi-member file `file.lz' and write each member
|
||||
in its own `recXXXfile.lz' file. Then use `lziprecover -t' to test the
|
||||
Example 6: Split the multi-member file 'file.lz' and write each member
|
||||
in its own 'recXXXfile.lz' file. Then use 'lziprecover -t' to test the
|
||||
integrity of the resulting files.
|
||||
|
||||
lziprecover -s file.lz
|
||||
|
@ -424,10 +435,10 @@ error-checked merging of copies (*Note GNU ddrescue manual:
|
|||
|
||||
|
||||
Example 8: Recover the first volume of those created with the command
|
||||
`lzip -b 32MiB -S 650MB big_db' from two copies, `big_db1_00001.lz' and
|
||||
`big_db2_00001.lz', with member 07 damaged in the first copy, member 18
|
||||
'lzip -b 32MiB -S 650MB big_db' from two copies, 'big_db1_00001.lz' and
|
||||
'big_db2_00001.lz', with member 07 damaged in the first copy, member 18
|
||||
damaged in the second copy, and member 12 damaged in both copies. The
|
||||
correct file produced is saved in `big_db_00001.lz'.
|
||||
correct file produced is saved in 'big_db_00001.lz'.
|
||||
|
||||
lziprecover -m -v -o big_db_00001.lz big_db1_00001.lz big_db2_00001.lz
|
||||
Input files merged successfully
|
||||
|
@ -440,7 +451,7 @@ File: lziprecover.info, Node: Unzcrash, Next: Problems, Prev: Examples, Up:
|
|||
|
||||
The lziprecover package also includes unzcrash, a program written to
|
||||
test robustness to decompression of corrupted data, inspired by
|
||||
unzcrash.c from Julian Seward's bzip2. Type `make unzcrash' in the
|
||||
unzcrash.c from Julian Seward's bzip2. Type 'make unzcrash' in the
|
||||
lziprecover source directory to build it.
|
||||
|
||||
Unzcrash reads the specified file and then repeatedly decompresses
|
||||
|
@ -461,40 +472,40 @@ programs with a suitable command line syntax.
|
|||
|
||||
Unzcrash supports the following options:
|
||||
|
||||
`-h'
|
||||
`--help'
|
||||
'-h'
|
||||
'--help'
|
||||
Print an informative help message describing the options and exit.
|
||||
|
||||
`-V'
|
||||
`--version'
|
||||
'-V'
|
||||
'--version'
|
||||
Print the version number of unzcrash on the standard output and
|
||||
exit.
|
||||
|
||||
`-b RANGE'
|
||||
`--bits=RANGE'
|
||||
'-b RANGE'
|
||||
'--bits=RANGE'
|
||||
Test N-bit errors only, instead of testing all the 255 wrong
|
||||
values for each byte. `N-bit error' means any value differing from
|
||||
values for each byte. 'N-bit error' means any value differing from
|
||||
the original value in N bit positions, not a value differing from
|
||||
the original value in the bit position N.
|
||||
The number of N-bit errors per byte (N = 1 to 8) is: 8 28 56 70 56
|
||||
28 8 1
|
||||
Examples of RANGE: 1 1,2,3 1-4 1,3-5,8 1-3,5-8
|
||||
|
||||
`-p BYTES'
|
||||
`--position=BYTES'
|
||||
'-p BYTES'
|
||||
'--position=BYTES'
|
||||
First byte position to test in the file. Defaults to 0.
|
||||
|
||||
`-q'
|
||||
`--quiet'
|
||||
'-q'
|
||||
'--quiet'
|
||||
Quiet operation. Suppress all messages.
|
||||
|
||||
`-s BYTES'
|
||||
`--size=BYTES'
|
||||
'-s BYTES'
|
||||
'--size=BYTES'
|
||||
Number of byte positions to test. If not specified, the whole file
|
||||
is tested.
|
||||
|
||||
`-v'
|
||||
`--verbose'
|
||||
'-v'
|
||||
'--verbose'
|
||||
Verbose mode.
|
||||
|
||||
|
||||
|
@ -516,7 +527,7 @@ for all eternity, if not longer.
|
|||
|
||||
If you find a bug in lziprecover, please send electronic mail to
|
||||
<lzip-bug@nongnu.org>. Include the version number, which you can find
|
||||
by running `lziprecover --version'.
|
||||
by running 'lziprecover --version'.
|
||||
|
||||
|
||||
File: lziprecover.info, Node: Concept index, Prev: Problems, Up: Top
|
||||
|
@ -540,17 +551,17 @@ Concept index
|
|||
|
||||
|
||||
Tag Table:
|
||||
Node: Top228
|
||||
Node: Introduction1096
|
||||
Node: Invoking lziprecover3249
|
||||
Node: Repairing files8687
|
||||
Node: Merging files9406
|
||||
Node: File format11177
|
||||
Node: Examples13687
|
||||
Ref: ddrescue-example14888
|
||||
Node: Unzcrash15997
|
||||
Node: Problems18369
|
||||
Node: Concept index18919
|
||||
Node: Top226
|
||||
Node: Introduction1100
|
||||
Node: Invoking lziprecover3858
|
||||
Node: Repairing files9296
|
||||
Node: Merging files10015
|
||||
Node: File format11786
|
||||
Node: Examples14296
|
||||
Ref: ddrescue-example15497
|
||||
Node: Unzcrash16606
|
||||
Node: Problems18978
|
||||
Node: Concept index19528
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue