Merging upstream version 1.23.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
e97534874c
commit
796a69d402
35 changed files with 1166 additions and 704 deletions
|
@ -1,7 +1,7 @@
|
|||
This is lziprecover.info, produced by makeinfo version 4.13+ from
|
||||
lziprecover.texi.
|
||||
|
||||
INFO-DIR-SECTION Data Compression
|
||||
INFO-DIR-SECTION Compression
|
||||
START-INFO-DIR-ENTRY
|
||||
* Lziprecover: (lziprecover). Data recovery tool for the lzip format
|
||||
END-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.22, 2 January 2021).
|
||||
This manual is for Lziprecover (version 1.23, 21 January 2022).
|
||||
|
||||
* Menu:
|
||||
|
||||
|
@ -32,7 +32,7 @@ This manual is for Lziprecover (version 1.22, 2 January 2021).
|
|||
* Concept index:: Index of concepts
|
||||
|
||||
|
||||
Copyright (C) 2009-2021 Antonio Diaz Diaz.
|
||||
Copyright (C) 2009-2022 Antonio Diaz Diaz.
|
||||
|
||||
This manual is free documentation: you have unlimited permission to copy,
|
||||
distribute, and modify it.
|
||||
|
@ -45,10 +45,10 @@ File: lziprecover.info, Node: Introduction, Next: Invoking lziprecover, Prev:
|
|||
|
||||
Lziprecover is a data recovery tool and decompressor for files in the lzip
|
||||
compressed data format (.lz). Lziprecover is able to repair slightly damaged
|
||||
files, produce a correct file by merging the good parts of two or more
|
||||
damaged copies, reproduce a missing (zeroed) sector using a reference file,
|
||||
extract data from damaged files, decompress files, and test integrity of
|
||||
files.
|
||||
files (up to one single-byte error per member), produce a correct file by
|
||||
merging the good parts of two or more damaged copies, reproduce a missing
|
||||
(zeroed) sector using a reference file, extract data from damaged files,
|
||||
decompress files, and test integrity of files.
|
||||
|
||||
Lziprecover can remove the damaged members from multimember files, for
|
||||
example multimember tar.lz archives.
|
||||
|
@ -94,7 +94,7 @@ provides recovery capabilities like those of lziprecover, which is able to
|
|||
find and combine the good parts of several damaged copies.
|
||||
|
||||
Lziprecover is able to recover or decompress files produced by any of the
|
||||
compressors in the lzip family; lzip, plzip, minilzip/lzlib, clzip, and
|
||||
compressors in the lzip family: lzip, plzip, minilzip/lzlib, clzip, and
|
||||
pdlzip.
|
||||
|
||||
If the cause of file corruption is a damaged medium, the combination
|
||||
|
@ -105,7 +105,7 @@ ddrescue-example2::, for examples.
|
|||
If a file is too damaged for lziprecover to repair it, all the
|
||||
recoverable data in all members of the file can be extracted with the
|
||||
following command (the resulting file may contain errors and some garbage
|
||||
data may be produced at the end of each member):
|
||||
data may be produced at the end of each damaged member):
|
||||
|
||||
lziprecover -cd -i file.lz > file
|
||||
|
||||
|
@ -161,7 +161,7 @@ lziprecover decompresses from standard input to standard output.
|
|||
dictionary size of the resulting file (and therefore the amount of
|
||||
memory required to decompress it). Only streamed files with default
|
||||
LZMA properties can be converted; non-streamed lzma-alone files lack
|
||||
the end of stream marker required in lzip files.
|
||||
the "End Of Stream" marker required in lzip files.
|
||||
|
||||
The name of the converted lzip file is derived from that of the
|
||||
original lzma-alone file as follows:
|
||||
|
@ -176,15 +176,18 @@ lziprecover decompresses from standard input to standard output.
|
|||
unchanged. This option (or '-o') is needed when reading from a named
|
||||
pipe (fifo) or from a device. Use it also to recover as much of the
|
||||
decompressed data as possible when decompressing a corrupt file. '-c'
|
||||
overrides '-o', but '-c' has no effect when merging, removing members,
|
||||
overrides '-o'. '-c' has no effect when merging, removing members,
|
||||
repairing, reproducing, splitting, testing or listing.
|
||||
|
||||
'-d'
|
||||
'--decompress'
|
||||
Decompress the files specified. If a file does not exist or can't be
|
||||
opened, lziprecover continues decompressing the rest of the files. If
|
||||
a file fails to decompress, or is a terminal, lziprecover exits
|
||||
immediately without decompressing the rest of the files.
|
||||
Decompress the files specified. If a file does not exist, can't be
|
||||
opened, or the destination file already exists and '--force' has not
|
||||
been specified, lziprecover continues decompressing the rest of the
|
||||
files and exits with error status 1. If a file fails to decompress, or
|
||||
is a terminal, lziprecover exits immediately with error status 2
|
||||
without decompressing the rest of the files. A terminal is considered
|
||||
an uncompressed file, and therefore invalid.
|
||||
|
||||
'-D RANGE'
|
||||
'--range-decompress=RANGE'
|
||||
|
@ -243,12 +246,12 @@ lziprecover decompresses from standard input to standard output.
|
|||
'-cd -i' method resyncs to the next member header after each error,
|
||||
and is immune to some format errors that make '-D0 -i' fail. The range
|
||||
decompressed may be smaller than the range requested, because of the
|
||||
errors.
|
||||
errors. The exit status is set to 0 unless other errors are found (I/O
|
||||
errors, for example).
|
||||
|
||||
Make '--list', '--dump', '--remove', and '--strip' ignore format
|
||||
errors. The sizes of the members with errors (specially the last) may
|
||||
be wrong. The exit status is set to 0 unless other errors are found
|
||||
(I/O errors, for example).
|
||||
be wrong.
|
||||
|
||||
'-k'
|
||||
'--keep'
|
||||
|
@ -267,10 +270,12 @@ lziprecover decompresses from standard input to standard output.
|
|||
between members are shown. The member numbers shown coincide with the
|
||||
file numbers produced by '--split'.
|
||||
|
||||
'-lq' can be used to verify quickly (without decompressing) the
|
||||
structural integrity of the files specified. (Use '--test' to verify
|
||||
the data integrity). '-alq' additionally verifies that none of the
|
||||
files specified contain trailing data.
|
||||
If any file is damaged, does not exist, can't be opened, or is not
|
||||
regular, the final exit status will be > 0. '-lq' can be used to verify
|
||||
quickly (without decompressing) the structural integrity of the files
|
||||
specified. (Use '--test' to verify the data integrity). '-alq'
|
||||
additionally verifies that none of the files specified contain
|
||||
trailing data.
|
||||
|
||||
'-m'
|
||||
'--merge'
|
||||
|
@ -361,7 +366,7 @@ lziprecover decompresses from standard input to standard output.
|
|||
If a file does not exist, can't be opened, or is not regular,
|
||||
lziprecover continues processing the rest of the files. If the dump
|
||||
fails in one file, lziprecover exits immediately without processing the
|
||||
rest of the files.
|
||||
rest of the files. Only '--dump=tdata' can write to a terminal.
|
||||
|
||||
The argument to '--dump' is a colon-separated list of the following
|
||||
element specifiers; a member list (1,3-6), a reverse member list
|
||||
|
@ -451,29 +456,39 @@ lziprecover decompresses from standard input to standard output.
|
|||
byte values. Print cumulative data for all files followed by the name
|
||||
of the first file with the longest sequence.
|
||||
|
||||
'-U'
|
||||
'--unzcrash'
|
||||
Test 1-bit errors in the LZMA stream of the input FILE like the
|
||||
command 'unzcrash -b1 -p7 -s-20 'lzip -t' FILE' but in memory, and
|
||||
therefore much faster. *Note Unzcrash::. This option tests all the
|
||||
members independently in a multimember file, skipping headers and
|
||||
trailers. If a decompression succeeds, the decompressed output is
|
||||
compared with the original decompressed output of FILE using MD5
|
||||
digests. The compressed FILE must not contain errors and must
|
||||
decompress correctly for the comparisons to work.
|
||||
'-U 1|BSIZE'
|
||||
'--unzcrash=1|BSIZE'
|
||||
With argument '1', test 1-bit errors in the LZMA stream of the
|
||||
compressed input FILE like the command
|
||||
'unzcrash -b1 -p7 -s-20 'lzip -t' FILE' but in memory, and therefore
|
||||
much faster. *Note Unzcrash::. This option tests all the members
|
||||
independently in a multimember file, skipping headers and trailers. If
|
||||
a decompression succeeds, the decompressed output is compared with the
|
||||
decompressed output of the original FILE using MD5 digests. FILE must
|
||||
not contain errors and must decompress correctly for the comparisons to
|
||||
work.
|
||||
|
||||
With argument 'B', test zeroed sectors (blocks of bytes) in the LZMA
|
||||
stream of the compressed input FILE like the command
|
||||
'unzcrash --block=SIZE -d1 -p7 -s-(SIZE+20) 'lzip -t' FILE' but in
|
||||
memory, and therefore much faster. Testing and comparisons work just
|
||||
like with the argument '1' explained above.
|
||||
|
||||
By default '--unzcrash' only prints the interesting cases; CRC
|
||||
mismatches, size mismatches, unsupported marker codes, unexpected EOFs,
|
||||
apparently successful decompressions, and decoder errors detected
|
||||
50_000 or more bytes beyond the byte being tested. At verbosity level
|
||||
1 (-v) it also prints decoder errors detected 10_000 or more bytes
|
||||
beyond the byte being tested. At verbosity level 2 (-vv) it prints all
|
||||
cases.
|
||||
50_000 or more bytes beyond the byte (or the start of the block) being
|
||||
tested. At verbosity level 1 (-v) it also prints decoder errors
|
||||
detected 10_000 or more bytes beyond the byte being tested. At
|
||||
verbosity level 2 (-vv) it prints all cases for 1-bit errors or the
|
||||
decoder errors detected beyond the end of the block for zeroed blocks.
|
||||
|
||||
'-W POSITION,VALUE'
|
||||
'--debug-decompress=POSITION,VALUE'
|
||||
Load the compressed FILE into memory, set the byte at POSITION to
|
||||
VALUE, and decompress the modified compressed data to standard output.
|
||||
If the damaged member is decompressed fully (just fails with a CRC
|
||||
mismatch), the members following it are also decompressed.
|
||||
|
||||
'-X[POSITION,VALUE]'
|
||||
'--show-packets[=POSITION,VALUE]'
|
||||
|
@ -517,7 +532,7 @@ Y yottabyte (10^24) | Yi yobibyte (2^80)
|
|||
|
||||
Exit status: 0 for a normal exit, 1 for environmental problems (file not
|
||||
found, invalid flags, I/O errors, etc), 2 to indicate a corrupt or invalid
|
||||
input file, 3 for an internal consistency error (eg, bug) which caused
|
||||
input file, 3 for an internal consistency error (e.g., bug) which caused
|
||||
lziprecover to panic.
|
||||
|
||||
|
||||
|
@ -875,7 +890,7 @@ gmp-6.1.1.tar gmp-6.1.2.tar.lz 175 / 473 = 37%
|
|||
gmp-6.1.2.tar gmp-6.1.1.tar.lz 181 / 472 = 38.35%
|
||||
|
||||
Note that the "performance of reproduce" is a probability, not a partial
|
||||
recovery. The data is either fully recovered (with the probability X shown
|
||||
recovery. The data is either recovered fully (with the probability X shown
|
||||
in the last column of the tables above) or not recovered at all (with
|
||||
probability 1 - X).
|
||||
|
||||
|
@ -1065,9 +1080,11 @@ when there is no longer anything to take away.
|
|||
represents a variable number of bytes.
|
||||
|
||||
|
||||
A lzip file consists of a series of "members" (compressed data sets).
|
||||
The members simply appear one after another in the file, with no additional
|
||||
information before, between, or after them.
|
||||
A lzip file consists of a series of independent "members" (compressed
|
||||
data sets). The members simply appear one after another in the file, with no
|
||||
additional information before, between, or after them. Each member can
|
||||
encode in compressed form up to 16 EiB - 1 byte of uncompressed data. The
|
||||
size of a multimember file is unlimited.
|
||||
|
||||
Each member has the following structure:
|
||||
|
||||
|
@ -1095,21 +1112,22 @@ information before, between, or after them.
|
|||
Valid values for dictionary size range from 4 KiB to 512 MiB.
|
||||
|
||||
'LZMA stream'
|
||||
The LZMA stream, finished by an end of stream marker. Uses default
|
||||
The LZMA stream, finished by an "End Of Stream" marker. Uses default
|
||||
values for encoder properties. *Note Stream format: (lzip)Stream
|
||||
format, for a complete description.
|
||||
|
||||
'CRC32 (4 bytes)'
|
||||
Cyclic Redundancy Check (CRC) of the uncompressed original data.
|
||||
Cyclic Redundancy Check (CRC) of the original uncompressed data.
|
||||
|
||||
'Data size (8 bytes)'
|
||||
Size of the uncompressed original data.
|
||||
Size of the original uncompressed data.
|
||||
|
||||
'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 multimember
|
||||
files.
|
||||
and facilitates the safe recovery of undamaged members from
|
||||
multimember files. Member size should be limited to 2 PiB to prevent
|
||||
the data size field from overflowing.
|
||||
|
||||
|
||||
|
||||
|
@ -1167,7 +1185,7 @@ Example 1: Add a comment or description to a compressed file.
|
|||
# This command prints the comment to standard output
|
||||
lziprecover --dump=tdata file.lz
|
||||
# This command outputs file.lz without the comment
|
||||
lziprecover --strip=tdata file.lz
|
||||
lziprecover --strip=tdata file.lz > stripped_file.lz
|
||||
# This command removes the comment from file.lz
|
||||
lziprecover --remove=tdata file.lz
|
||||
|
||||
|
@ -1209,7 +1227,7 @@ Example 4: The right way of concatenating the decompressed output of two or
|
|||
more compressed files. *Note Trailing data::.
|
||||
|
||||
Don't do this
|
||||
cat file1.lz file2.lz file3.lz | lziprecover -d
|
||||
cat file1.lz file2.lz file3.lz | lziprecover -d -
|
||||
Do this instead
|
||||
lziprecover -cd file1.lz file2.lz file3.lz
|
||||
You may also concatenate the compressed files like this
|
||||
|
@ -1292,7 +1310,10 @@ latter case, please, report any false negative as a bug.
|
|||
|
||||
In order to compare the outputs, unzcrash needs a 'zcmp' program able to
|
||||
understand the format being tested. For example the 'zcmp' provided by
|
||||
zutils. Use '--zcmp=false' to disable comparisons. *Note Zcmp: (zutils)Zcmp.
|
||||
zutils. If the 'zcmp' program used does not understand the format being
|
||||
tested, all the comparisons will fail because the compressed files will be
|
||||
compared without being decompressed first. Use '--zcmp=false' to disable
|
||||
comparisons. *Note Zcmp: (zutils)Zcmp.
|
||||
|
||||
The format for running unzcrash is:
|
||||
|
||||
|
@ -1393,7 +1414,7 @@ tested must decompress it correctly for the comparisons to work.
|
|||
|
||||
Exit status: 0 for a normal exit, 1 for environmental problems (file not
|
||||
found, invalid flags, I/O errors, etc), 2 to indicate a corrupt or invalid
|
||||
input file, 3 for an internal consistency error (eg, bug) which caused
|
||||
input file, 3 for an internal consistency error (e.g., bug) which caused
|
||||
unzcrash to panic.
|
||||
|
||||
|
||||
|
@ -1443,32 +1464,32 @@ Concept index
|
|||
|
||||
|
||||
Tag Table:
|
||||
Node: Top231
|
||||
Node: Introduction1410
|
||||
Node: Invoking lziprecover5353
|
||||
Ref: --trailing-error6220
|
||||
Ref: range-format8391
|
||||
Ref: --reproduce8726
|
||||
Ref: --repair12904
|
||||
Node: Data safety24532
|
||||
Node: Merging with a backup26520
|
||||
Node: Reproducing a mailbox27784
|
||||
Node: Repairing one byte30285
|
||||
Node: Merging files32350
|
||||
Ref: performance-of-merge33520
|
||||
Ref: ddrescue-example35129
|
||||
Node: Reproducing one sector36416
|
||||
Ref: performance-of-reproduce40299
|
||||
Ref: ddrescue-example242974
|
||||
Node: Tarlz45394
|
||||
Node: File names49058
|
||||
Node: File format49515
|
||||
Node: Trailing data51964
|
||||
Node: Examples55186
|
||||
Ref: concat-example55762
|
||||
Node: Unzcrash57152
|
||||
Node: Problems63240
|
||||
Node: Concept index63792
|
||||
Node: Top226
|
||||
Node: Introduction1406
|
||||
Node: Invoking lziprecover5398
|
||||
Ref: --trailing-error6265
|
||||
Ref: range-format8644
|
||||
Ref: --reproduce8979
|
||||
Ref: --repair13278
|
||||
Node: Data safety25584
|
||||
Node: Merging with a backup27572
|
||||
Node: Reproducing a mailbox28836
|
||||
Node: Repairing one byte31337
|
||||
Node: Merging files33402
|
||||
Ref: performance-of-merge34572
|
||||
Ref: ddrescue-example36181
|
||||
Node: Reproducing one sector37468
|
||||
Ref: performance-of-reproduce41351
|
||||
Ref: ddrescue-example244026
|
||||
Node: Tarlz46446
|
||||
Node: File names50110
|
||||
Node: File format50567
|
||||
Node: Trailing data53258
|
||||
Node: Examples56499
|
||||
Ref: concat-example57075
|
||||
Node: Unzcrash58467
|
||||
Node: Problems64739
|
||||
Node: Concept index65291
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue