2025-02-21 10:09:52 +01:00
|
|
|
Description
|
|
|
|
|
2025-02-21 11:29:28 +01:00
|
|
|
Lziprecover is a data recovery tool and decompressor for files in the lzip
|
|
|
|
compressed data format (.lz). Lziprecover is able to repair slightly damaged
|
2025-02-21 11:31:26 +01:00
|
|
|
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.
|
2025-02-21 11:27:50 +01:00
|
|
|
|
2025-02-21 11:29:28 +01:00
|
|
|
Lziprecover can remove the damaged members from multimember files, for
|
|
|
|
example multimember tar.lz archives.
|
|
|
|
|
|
|
|
Lziprecover provides random access to the data in multimember files; it only
|
|
|
|
decompresses the members containing the desired data.
|
|
|
|
|
|
|
|
Lziprecover facilitates the management of metadata stored as trailing data
|
|
|
|
in lzip files.
|
2025-02-21 11:17:33 +01:00
|
|
|
|
2025-02-21 11:26:09 +01:00
|
|
|
Lziprecover is not a replacement for regular backups, but a last line of
|
|
|
|
defense for the case where the backups are also damaged.
|
|
|
|
|
2025-02-21 11:29:28 +01:00
|
|
|
The lzip file format is designed for data sharing and long-term archiving,
|
|
|
|
taking into account both data integrity and decoder availability:
|
2025-02-21 11:19:49 +01:00
|
|
|
|
|
|
|
* The lzip format provides very safe integrity checking and some data
|
2025-02-21 11:30:52 +01:00
|
|
|
recovery means. The program lziprecover 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 source 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.
|
2025-02-21 11:19:49 +01:00
|
|
|
|
2025-02-21 11:23:10 +01:00
|
|
|
* Additionally the lzip reference implementation is copylefted, which
|
|
|
|
guarantees that it will remain free forever.
|
2025-02-21 10:09:52 +01:00
|
|
|
|
2025-02-21 11:30:52 +01:00
|
|
|
A nice feature of the lzip format is that a corrupt byte is easier to repair
|
|
|
|
the nearer it is from the beginning of the file. Therefore, with the help of
|
|
|
|
lziprecover, losing an entire archive just because of a corrupt byte near
|
|
|
|
the beginning is a thing of the past.
|
2025-02-21 11:21:20 +01:00
|
|
|
|
2025-02-21 11:30:52 +01:00
|
|
|
Compression may be good for long-term archiving. For compressible data,
|
|
|
|
multiple compressed copies may provide redundancy in a more useful form and
|
|
|
|
may have a better chance of surviving intact than one uncompressed copy
|
2025-02-21 11:32:14 +01:00
|
|
|
using the same amount of storage space. This is especially true if the
|
|
|
|
format provides recovery capabilities like those of lziprecover, which is
|
|
|
|
able to find and combine the good parts of several damaged copies.
|
2025-02-21 11:27:50 +01:00
|
|
|
|
2025-02-21 11:30:52 +01:00
|
|
|
Lziprecover is able to recover or decompress files produced by any of the
|
2025-02-21 11:31:26 +01:00
|
|
|
compressors in the lzip family: lzip, plzip, minilzip/lzlib, clzip, and
|
2025-02-21 11:30:52 +01:00
|
|
|
pdlzip.
|
2025-02-21 11:17:33 +01:00
|
|
|
|
2025-02-21 11:30:52 +01:00
|
|
|
If the cause of file corruption is a damaged medium, the combination
|
|
|
|
GNU ddrescue + lziprecover is the recommended option for recovering data
|
|
|
|
from damaged lzip files.
|
2025-02-21 11:17:33 +01:00
|
|
|
|
2025-02-21 11:30:52 +01:00
|
|
|
If a file is too damaged for lziprecover to repair it, all the recoverable
|
|
|
|
data in all members of the file can be extracted in one step with the
|
2025-02-21 11:32:14 +01:00
|
|
|
command 'lziprecover -cd --ignore-errors file.lz > file'.
|
2025-02-21 10:09:52 +01:00
|
|
|
|
|
|
|
When recovering data, lziprecover takes as arguments the names of the
|
|
|
|
damaged files and writes zero or more recovered files depending on the
|
2025-02-21 11:30:52 +01:00
|
|
|
operation selected and whether the recovery succeeded or not. The damaged
|
|
|
|
files themselves are kept unchanged.
|
2025-02-21 10:09:52 +01:00
|
|
|
|
2025-02-21 11:30:52 +01:00
|
|
|
When decompressing or testing file integrity, lziprecover behaves like lzip
|
|
|
|
or lunzip.
|
2025-02-21 10:09:52 +01:00
|
|
|
|
2025-02-21 11:30:52 +01:00
|
|
|
To give you an idea of its possibilities, when merging two copies, each of
|
|
|
|
them with one damaged area affecting 1 percent of the copy, the probability
|
|
|
|
of obtaining a correct file is about 98 percent. With three such copies the
|
|
|
|
probability rises to 99.97 percent. For large files (a few MB) with small
|
|
|
|
errors (one sector damaged per copy), the probability approaches 100 percent
|
|
|
|
even with only two copies. (Supposing that the errors are randomly located
|
|
|
|
inside each copy).
|
2025-02-21 10:09:52 +01:00
|
|
|
|
2025-02-21 11:30:52 +01:00
|
|
|
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 lziprecover source
|
|
|
|
directory to build it. Then try 'unzcrash --help'.
|
2025-02-21 10:13:11 +01:00
|
|
|
|
2025-02-21 10:16:51 +01:00
|
|
|
|
2025-02-21 11:32:35 +01:00
|
|
|
Copyright (C) 2009-2024 Antonio Diaz Diaz.
|
2025-02-21 10:13:11 +01:00
|
|
|
|
|
|
|
This file is free documentation: you have unlimited permission to copy,
|
2025-02-21 11:30:52 +01:00
|
|
|
distribute, and modify it.
|
2025-02-21 10:13:11 +01:00
|
|
|
|
2025-02-21 11:32:35 +01:00
|
|
|
The file Makefile.in is a data file used by configure to produce the Makefile.
|
|
|
|
It has the same copyright owner and permissions that configure itself.
|