summaryrefslogtreecommitdiffstats
path: root/doc/lziprecover.1
blob: bb39f366b782adb8a78750e2a44166992d9cb50b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.49.2.
.TH LZIPRECOVER "1" "October 2024" "lziprecover 1.25-pre1" "User Commands"
.SH NAME
lziprecover \- recovers data from damaged lzip files
.SH SYNOPSIS
.B lziprecover
[\fI\,options\/\fR] [\fI\,files\/\fR]
.SH DESCRIPTION
Lziprecover is a data recovery tool and decompressor for files in the lzip
compressed data format (.lz). Lziprecover also provides Forward Error
Correction (FEC) able to repair any kind of file.
.PP
With the help of lziprecover, losing an entire archive just because of a
corrupt byte near the beginning is a thing of the past.
.PP
Lziprecover can remove the damaged members from multimember files, for
example multimember tar.lz archives.
.PP
Lziprecover provides random access to the data in multimember files; it only
decompresses the members containing the desired data.
.PP
Lziprecover is not a replacement for regular backups, but a last line of
defense for the case where the backups are also damaged.
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
display this help and exit
.TP
\fB\-V\fR, \fB\-\-version\fR
output version information and exit
.TP
\fB\-a\fR, \fB\-\-trailing\-error\fR
exit with error status if trailing data
.TP
\fB\-A\fR, \fB\-\-alone\-to\-lz\fR
convert lzma\-alone files to lzip format
.TP
\fB\-b\fR, \fB\-\-block\-size=\fR<bytes>
make FEC block size a multiple of <bytes>
.TP
\fB\-B\fR, \fB\-\-byte\-repair\fR
try to repair a corrupt byte in file
.TP
\fB\-c\fR, \fB\-\-stdout\fR
write to standard output, keep input files
.TP
\fB\-d\fR, \fB\-\-decompress\fR
decompress, test compressed file integrity
.TP
\fB\-D\fR, \fB\-\-range\-decompress=\fR<n\-m>
decompress a range of bytes to stdout
.TP
\fB\-e\fR, \fB\-\-reproduce\fR
try to reproduce a zeroed sector in file
.TP
\fB\-\-lzip\-level\fR=\fI\,N\/\fR|a|m[N]
reproduce one level, all, or match length
.TP
\fB\-\-lzip\-name=\fR<name>
name of lzip executable for \fB\-\-reproduce\fR
.TP
\fB\-\-reference\-file=\fR<file>
reference file for \fB\-\-reproduce\fR
.TP
\fB\-f\fR, \fB\-\-force\fR
overwrite existing output files
.TP
\fB\-F\fR, \fB\-\-fec\fR=\fI\,c[N]\/\fR|r|t|l
create, repair, test, list (using) fec file
.TP
\fB\-0\fR .. \fB\-9\fR
set FEC fragmentation level [default 9]
.TP
\fB\-\-fec\-file=\fR<file>[/]
read fec file from <file> or directory
.TP
\fB\-i\fR, \fB\-\-ignore\-errors\fR
ignore non\-fatal errors
.TP
\fB\-k\fR, \fB\-\-keep\fR
keep (don't delete) input files
.TP
\fB\-l\fR, \fB\-\-list\fR
print (un)compressed file sizes
.TP
\fB\-m\fR, \fB\-\-merge\fR
repair errors in file using several copies
.TP
\fB\-n\fR, \fB\-\-threads=\fR<n>
set number of threads for fec create [2]
.TP
\fB\-o\fR, \fB\-\-output=\fR<file>[/]
place the output into <file> or directory
.TP
\fB\-q\fR, \fB\-\-quiet\fR
suppress all messages
.TP
\fB\-r\fR, \fB\-\-recursive\fR
(fec) operate recursively on directories
.TP
\fB\-R\fR, \fB\-\-dereference\-recursive\fR
(fec) recursively follow symbolic links
.TP
\fB\-s\fR, \fB\-\-split\fR
split multimember file in single\-member files
.TP
\fB\-t\fR, \fB\-\-test\fR
test compressed file integrity
.TP
\fB\-v\fR, \fB\-\-verbose\fR
be verbose (a 2nd \fB\-v\fR gives more)
.TP
\fB\-\-dump=\fR<list>:d:e:t
dump members, damaged/empty, tdata to stdout
.TP
\fB\-\-remove=\fR<list>:d:e:t
remove members, tdata from files in place
.TP
\fB\-\-strip=\fR<list>:d:e:t
copy files to stdout stripping members given
.TP
\fB\-\-ignore\-empty\fR
ignore empty members in multimember files
.TP
\fB\-\-ignore\-nonzero\fR
ignore a nonzero first LZMA byte
.TP
\fB\-\-loose\-trailing\fR
allow trailing data seeming corrupt header
.TP
\fB\-\-nonzero\-repair\fR
repair in place a nonzero first LZMA byte
.PP
If no file names are given, or if a file is '\-', lziprecover decompresses
from standard input to standard output.
Numbers may be followed by a multiplier: k = kB = 10^3 = 1000,
Ki = KiB = 2^10 = 1024, M = 10^6, Mi = 2^20, G = 10^9, Gi = 2^30, etc...
The argument to \fB\-\-fec\fR=\fI\,create\/\fR may be a number of blocks (\fB\-Fc20\fR), a
percentage (\fB\-Fc5\fR%), or a size in bytes (\fB\-Fc10KiB\fR).
.PP
To extract all the files from archive 'foo.tar.lz', use the commands
\&'tar \fB\-xf\fR foo.tar.lz' or 'lziprecover \fB\-cd\fR foo.tar.lz | tar \fB\-xf\fR \-'.
.PP
Exit status: 0 for a normal exit, 1 for environmental problems
(file not found, invalid command\-line options, I/O errors, etc), 2 to
indicate a corrupt or invalid input file, 3 for an internal consistency
error (e.g., bug) which caused lziprecover to panic.
.SH "REPORTING BUGS"
Report bugs to lzip\-bug@nongnu.org
.br
Lziprecover home page: http://www.nongnu.org/lzip/lziprecover.html
.SH COPYRIGHT
Copyright \(co 2024 Antonio Diaz Diaz.
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>
.br
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
.SH "SEE ALSO"
The full documentation for
.B lziprecover
is maintained as a Texinfo manual.  If the
.B info
and
.B lziprecover
programs are properly installed at your site, the command
.IP
.B info lziprecover
.PP
should give you access to the complete manual.