1
0
Fork 0

Merging upstream version 1.16~pre1.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-21 11:19:58 +01:00
parent c9bda4fdd7
commit 6a54533419
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
23 changed files with 520 additions and 446 deletions

View file

@ -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