Lziprecover

Version: 
1.25
Release date: 
Saturday, 25 September, 2010

License:

Interface:

Lziprecover is a data recovery tool and decompressor for files in the lzip compressed data format (.lz) able to repair slightly damaged files, recover badly damaged files from two or more copies, extract undamaged members from multi-member files, decompress files and test integrity of files.

This software is distributed in two modes:
  • as compressed package that you have to download and manually install; if prerequisites are required, you will have to manually install them too;
  • as RPM package; you can install it using your favorite rpm package manager, that will take care to download and install both the software and its prerequisites.
Choose the installation mode that you prefer. Please note that not all the versions are available in both the installation modes.

Installation with rpm

This program is installable using the rpm package manager. See below for the install string. Required prerequisites are automatically processed by the package manager and, if needed, downloaded and installed.

lziprecover-1.25-1.oc01 (04/02/2025)
Repository: Netlabs stable
2025-01-08 Antonio Diaz Diaz <antonio@gnu.org> * Version 1.25 released. * New options '-F, --fec', '-0' to '-9', '-b, --block-size', '--fec-file', '-r, --recursive', and '-R, --dereference-recursive'. * Change short name of option '--byte-repair' to '-B'. * byte_repair.cc: Repair a nonzero first LZMA byte. * Make '-i' ignore empty members and nonzero first LZMA byte. * Rename option '--clear-marking' to '--nonzero-repair'. * Remove options '--empty-error' and '--marking-error'. * decoder.cc (decode_member): Remove support for Sync Flush marker. * merge.cc (copy_file): Add name arguments, use 'show_file_error'. * lziprecover.texi: New chapter 'Syntax of command-line arguments'. * check.sh: Use 'cp' instead of 'cat'. * testsuite: Require lzip/clzip. Change several test files.

Manual installation

Program is distributed as ZIP package: download to temporary directory and unpack to destination folder, better if in PATH.

You can install the prerequisites with rpm running the following string in a command line:

yum install libc libstdc++6

Following ones are the download links for manual installation:

Lziprecover v. 1.16 (4/9/2014, Elbert Pol (TeLLie)) Readme/What's new
Hello all, I ported lziprecover v1.13 to Os/2 Located @ http://www.very-clever.com/download/nongnu/lzip/ 2014-08-29 Antonio Diaz Diaz <antonio@gnu.org> * Version 1.16 released. * New class LZ_mtester makes repair much faster. * main.cc (close_and_set_permissions): Behave like 'cp -p'. * lziprecover.texinfo: Renamed to lziprecover.texi. * License changed to GPL version 2 or later. 2013-09-14 Antonio Diaz Diaz <antonio@gnu.org> * Version 1.15 released. * repair.cc: Repair multi-member files with up to one byte error per member. * merge.cc: Merge multi-member files. * Added chapters 'Repairing files', 'Merging files' and 'Unzcrash' to the manual. 2013-05-31 Antonio Diaz Diaz <antonio@gnu.org> * Version 1.14 released. * Added new option '-i, --ignore-errors'. * Option '-l, --list' now accepts more than one file. * Decompression time has been reduced by 12%. * split.cc: Use as few digits as possible in file names. * split.cc: In verbose mode show names of files being created. * main.cc (show_header): Show header version if verbosity >= 4. * configure: Options now accept a separate argument. * Makefile.in: Added new target 'install-as-lzip'. * Makefile.in: Added new target 'install-bin'. * main.cc: Use 'setmode' instead of '_setmode' on Windows and OS/2. Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Antonio Diaz Diaz. This file is a collection of facts, and thus it is not copyrightable, but just in case, you have unlimited permission to copy, distribute and modify it. I used Gcc v4.7.3 Rpm build environment, available from http://svn.netlabs.org/rpm to port this programma. Requires libc065.dll available from ftp://ftp.netlabs.org/pub/gcc/libc-0_6_5-csd4.wpi or libc-0_6_5-csd4.zip or if you prefer rpm install do: yum install libc yum install libstdc++6 With kind regards from the Netherlands, Elbert Pol
 hobbes.nmsu.edu/download/pub/os2/dev/util/lzipr116.zip  local copy
Lziprecover v. 1.13 (13/3/2012, Elbert Pol (TeLLie)) Readme/What's new
Hello all, I ported lzip v1.13 to Os/2 Located @ http://www.very-clever.com/download/nongnu/lzip/ 2012-02-24 Antonio Diaz Diaz <ant_diaz@teleline.es> * Version 1.13 released. * Lziprecover has been moved to its own package. * main.cc (close_and_set_permissions): Inability to change output file attributes has been downgraded from error to warning. * Compression time of option '-0' has been reduced by 2%. * Reorganization of the compression code. * Small change in '--help' output and man page. * Changed quote characters in messages as advised by GNU Standards. * configure: 'datadir' renamed to 'datarootdir'. * 'testsuite/unzcrash.cc' has been moved to package 'lziprecover'. 2011-04-30 Antonio Diaz Diaz <ant_diaz@teleline.es> * Version 1.12 released. * main.cc: Added new option `-F, --recompress'. * encoder.h (update_prices): Update high length symbol prices independently of the value of `pos_state'. This gives better compression for large values of `--match-length' without being slower. * encoder.h encoder.cc: Optimize pair price calculations. This reduces compression time for large values of `--match-length' by up to 6%. * Compression time of option `-0' has been reduced by 2%. * main.cc (decompress): Print only one status line for each multimember file when only one `-v' is specified. * main.cc (decompress): Print up to 6 bytes of trailing garbage when `-vvvv' is specified. * main.cc (open_instream): Do not show the message " and `--stdout' was not specified" for directories, etc. * lziprecover.cc: If `-v' is not specified show errors only. * testsuite/unzcrash.cc: Use Arg_parser. * testsuite/unzcrash.cc: Added new options `-b', `-p' and `-s'. 2010-09-16 Antonio Diaz Diaz <ant_diaz@teleline.es> * Version 1.11 released. * Added new option `-0' which produces a compression speed and ratio comparable to those of `gzip -9'. * fast_encoder.h fast_encoder.cc: New files. * main.cc: Match length limit set by options -1 to -8 has been reduced to extend range of use towards gzip. Lower numbers now compress less but faster. (-1 now takes 43% less time for only 20% larger compressed size). * encoder.cc: Compression of option -9 has been slightly increased. * lziprecover.cc: Added new option "--merge" which tries to produce a correct file merging the good parts of two or more damaged copies. * lziprecover.cc: Added new option "--repair" for repairing a 1-byte error in single-member files. * decoder.cc (decode_member): Detect file errors earlier to improve efficiency of lziprecover's new repair capability. This change also prevents (harmless) access to uninitialized memory when decompressing a corrupt file. * lziprecover.cc: Added new option "--force". * lziprecover.cc: Added new option "--output". * lziprecover.cc: Added new option "--split" to select the until now only operation of splitting multimember files. * lziprecover.cc: If no operation is specified, warn the user and do nothing. * main.cc: Fixed warning about fchown's return value being ignored. * decoder.cc: "-tvvvv" now also shows compression ratio. * main.cc: Set stdin/stdout in binary mode on MSVC and OS2. * New examples have been added to the manual. * testsuite: "test1" renamed to "test.txt" * Matchfinder types HC4 (4 bytes hash-chain) and HT4 (4 bytes hash-table) have been tested and found no better than the current BT4. 2010-04-05 Antonio Diaz Diaz <ant_diaz@teleline.es> * Version 1.10 released. * decoder.h: Input_buffer integrated in Range_decoder. * main.cc: File specified with option "-o" is now created with mode 0666 if umask allows it, deleted if interrupted by user. * main.cc: New constant "o_binary". * main.cc: Dictionary size for options -2, -3, -4 and -8 has been changed to improve linearity of compressed sizes. * lzip.h: Fixed warnings produced by over-optimization (-O3). * Makefile.in: Added quotes to directory names. 2010-01-17 Antonio Diaz Diaz <ant_diaz@teleline.es> Lzip v1.9rc1 2010-01-01 Antonio Diaz Diaz <ant_diaz@teleline.es> * Version 1.9-rc1 released. * main.cc (main): return at least 1 if closing stdout fails. * Makefile.in: Added "--name" option to help2man invocation. * testsuite/check.sh: Use "test1" instead of "COPYING" for testing. Lzip is a lossless file compressor based on the LZMA (Lempel-Ziv-Markov chain-Algorithm) algorithm designed by Igor Pavlov. The high compression of LZMA comes from combining two basic, well-proven compression ideas: sliding dictionaries (i.e. LZ77/78), and markov models (i.e. the thing used by every compression algorithm that uses a range encoder or similar order-0 entropy coder as its last stage) with segregation of contexts according to what the bits are used for. Lzip is not a replacement for gzip or bzip2, but a complement; which one is best to use depends on user's needs. Gzip is the fastest and most widely used. Bzip2 compresses better than gzip but is slower, both compressing and decompressing. Lzip decompresses almost as fast as gzip and compresses better than bzip2, but requires more memory and time during compression. These features make lzip well suited for software distribution and data archival. The amount of memory required for compression is about 6 times the dictionary size, for decompression is a little more than dictionary size. It is also important to appreciate that the decompression memory requirement is set at compression time by the choice of dictionary size. Lzip has a user interface similar to the one of gzip or bzip2. It replaces every file given in the command line with a compressed version of itself, with the name "original_name.lz". Each compressed file has the same modification date, permissions, and, when possible, ownership as the corresponding original, so that these properties can be correctly restored at decompression time. If no file names are specified, lzip compresses (or decompresses) from standard input to standard output. In this case, lzip will decline to write compressed output to a terminal, as this would be entirely incomprehensible and therefore pointless. Lzip will correctly decompress a file which is the concatenation of two or more compressed files. The result is the concatenation of the corresponding uncompressed files. Integrity testing of concatenated compressed files is also supported. Lzip attempts to guess the name for the decompressed file from that of the compressed file as follows: filename.lz becomes filename filename.tlz becomes filename.tar anyothername becomes anyothername.out As a self-check for your protection, lzip stores in the file trailer the 32-bit CRC of the original file and the size of the original file, to make sure that the decompressed version of the file is identical to the original. This guards against corruption of the compressed data, and against undetected bugs in lzip (hopefully very unlikely). The chances of data corruption going undetected are microscopic, less than one chance in 4000 million for each file processed. Be aware, though, that the check occurs upon decompression, so it can only tell you that something is wrong. It can't help you recover the original uncompressed data. Return values: 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 lzip to panic. I used Rpm/Yum Gcc build environment, available from http://svn.netlabs.org/rpm to port this programme. Used Gcc v4.4.6 Requires libc064.dll available from ftp://ftp.netlabs.org/pub/gcc/libc-0_6_4-csd4.wpi or libc-0_6_4-csd4.zip With kind regards from the Netherlands, Elbert Pol
 hobbes.nmsu.edu/download/pub/os2/dev/util/Lzip-v1.13-os2.zip
Lziprecover v. 1.12 (10/5/2011, Elbert Pol (TeLLie)) Readme/What's new
Hello all, I ported lzip v1.12 to Os/2 Located @ http://www.very-clever.com/download/nongnu/lzip/ 2011-04-30 Antonio Diaz Diaz <ant_diaz@teleline.es> * Version 1.12 released. * main.cc: Added new option `-F, --recompress'. * encoder.h (update_prices): Update high length symbol prices independently of the value of `pos_state'. This gives better compression for large values of `--match-length' without being slower. * encoder.h encoder.cc: Optimize pair price calculations. This reduces compression time for large values of `--match-length' by up to 6%. * Compression time of option `-0' has been reduced by 2%. * main.cc (decompress): Print only one status line for each multimember file when only one `-v' is specified. * main.cc (decompress): Print up to 6 bytes of trailing garbage when `-vvvv' is specified. * main.cc (open_instream): Do not show the message " and `--stdout' was not specified" for directories, etc. * lziprecover.cc: If `-v' is not specified show errors only. * testsuite/unzcrash.cc: Use Arg_parser. * testsuite/unzcrash.cc: Added new options `-b', `-p' and `-s'. 2010-09-16 Antonio Diaz Diaz <ant_diaz@teleline.es> * Version 1.11 released. * Added new option `-0' which produces a compression speed and ratio comparable to those of `gzip -9'. * fast_encoder.h fast_encoder.cc: New files. * main.cc: Match length limit set by options -1 to -8 has been reduced to extend range of use towards gzip. Lower numbers now compress less but faster. (-1 now takes 43% less time for only 20% larger compressed size). * encoder.cc: Compression of option -9 has been slightly increased. * lziprecover.cc: Added new option "--merge" which tries to produce a correct file merging the good parts of two or more damaged copies. * lziprecover.cc: Added new option "--repair" for repairing a 1-byte error in single-member files. * decoder.cc (decode_member): Detect file errors earlier to improve efficiency of lziprecover's new repair capability. This change also prevents (harmless) access to uninitialized memory when decompressing a corrupt file. * lziprecover.cc: Added new option "--force". * lziprecover.cc: Added new option "--output". * lziprecover.cc: Added new option "--split" to select the until now only operation of splitting multimember files. * lziprecover.cc: If no operation is specified, warn the user and do nothing. * main.cc: Fixed warning about fchown's return value being ignored. * decoder.cc: "-tvvvv" now also shows compression ratio. * main.cc: Set stdin/stdout in binary mode on MSVC and OS2. * New examples have been added to the manual. * testsuite: "test1" renamed to "test.txt" * Matchfinder types HC4 (4 bytes hash-chain) and HT4 (4 bytes hash-table) have been tested and found no better than the current BT4. 2010-04-05 Antonio Diaz Diaz <ant_diaz@teleline.es> * Version 1.10 released. * decoder.h: Input_buffer integrated in Range_decoder. * main.cc: File specified with option "-o" is now created with mode 0666 if umask allows it, deleted if interrupted by user. * main.cc: New constant "o_binary". * main.cc: Dictionary size for options -2, -3, -4 and -8 has been changed to improve linearity of compressed sizes. * lzip.h: Fixed warnings produced by over-optimization (-O3). * Makefile.in: Added quotes to directory names. 2010-01-17 Antonio Diaz Diaz <ant_diaz@teleline.es> Lzip v1.9rc1 2010-01-01 Antonio Diaz Diaz <ant_diaz@teleline.es> * Version 1.9-rc1 released. * main.cc (main): return at least 1 if closing stdout fails. * Makefile.in: Added "--name" option to help2man invocation. * testsuite/check.sh: Use "test1" instead of "COPYING" for testing. Lzip is a lossless file compressor based on the LZMA (Lempel-Ziv-Markov chain-Algorithm) algorithm designed by Igor Pavlov. The high compression of LZMA comes from combining two basic, well-proven compression ideas: sliding dictionaries (i.e. LZ77/78), and markov models (i.e. the thing used by every compression algorithm that uses a range encoder or similar order-0 entropy coder as its last stage) with segregation of contexts according to what the bits are used for. Lzip is not a replacement for gzip or bzip2, but a complement; which one is best to use depends on user's needs. Gzip is the fastest and most widely used. Bzip2 compresses better than gzip but is slower, both compressing and decompressing. Lzip decompresses almost as fast as gzip and compresses better than bzip2, but requires more memory and time during compression. These features make lzip well suited for software distribution and data archival. The amount of memory required for compression is about 6 times the dictionary size, for decompression is a little more than dictionary size. It is also important to appreciate that the decompression memory requirement is set at compression time by the choice of dictionary size. Lzip has a user interface similar to the one of gzip or bzip2. It replaces every file given in the command line with a compressed version of itself, with the name "original_name.lz". Each compressed file has the same modification date, permissions, and, when possible, ownership as the corresponding original, so that these properties can be correctly restored at decompression time. If no file names are specified, lzip compresses (or decompresses) from standard input to standard output. In this case, lzip will decline to write compressed output to a terminal, as this would be entirely incomprehensible and therefore pointless. Lzip will correctly decompress a file which is the concatenation of two or more compressed files. The result is the concatenation of the corresponding uncompressed files. Integrity testing of concatenated compressed files is also supported. Lzip attempts to guess the name for the decompressed file from that of the compressed file as follows: filename.lz becomes filename filename.tlz becomes filename.tar anyothername becomes anyothername.out As a self-check for your protection, lzip stores in the file trailer the 32-bit CRC of the original file and the size of the original file, to make sure that the decompressed version of the file is identical to the original. This guards against corruption of the compressed data, and against undetected bugs in lzip (hopefully very unlikely). The chances of data corruption going undetected are microscopic, less than one chance in 4000 million for each file processed. Be aware, though, that the check occurs upon decompression, so it can only tell you that something is wrong. It can't help you recover the original uncompressed data. Return values: 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 lzip to panic. I compiled this from the official sources using GCC v4.5.2 I used Paul Smedley's build environment, available from http://os2ports.smedley.info to port this programme. Requires libc063.dll available from ftp://ftp.netlabs.org/pub/gcc/libc-0.6.3-csd3.zip Requires Gcc444.dll available from http://download.smedley.info/gcc452.zip With kind regards from the Netherlands, Elbert Pol
 hobbes.nmsu.edu/download/pub/os2/dev/util/Lzip-v1.12-os2.zip
Lziprecover v. 1.11 (25/9/2010, Elbert Pol (TeLLie)) Readme/What's new
Hello all, I ported lzip v1.11 to Os/2 Located @ http://www.very-clever.com/download/nongnu/lzip/ 2010-09-16 Antonio Diaz Diaz <ant_diaz@teleline.es> * Version 1.11 released. * Added new option `-0' which produces a compression speed and ratio comparable to those of `gzip -9'. * fast_encoder.h fast_encoder.cc: New files. * main.cc: Match length limit set by options -1 to -8 has been reduced to extend range of use towards gzip. Lower numbers now compress less but faster. (-1 now takes 43% less time for only 20% larger compressed size). * encoder.cc: Compression of option -9 has been slightly increased. * lziprecover.cc: Added new option "--merge" which tries to produce a correct file merging the good parts of two or more damaged copies. * lziprecover.cc: Added new option "--repair" for repairing a 1-byte error in single-member files. * decoder.cc (decode_member): Detect file errors earlier to improve efficiency of lziprecover's new repair capability. This change also prevents (harmless) access to uninitialized memory when decompressing a corrupt file. * lziprecover.cc: Added new option "--force". * lziprecover.cc: Added new option "--output". * lziprecover.cc: Added new option "--split" to select the until now only operation of splitting multimember files. * lziprecover.cc: If no operation is specified, warn the user and do nothing. * main.cc: Fixed warning about fchown's return value being ignored. * decoder.cc: "-tvvvv" now also shows compression ratio. * main.cc: Set stdin/stdout in binary mode on MSVC and OS2. * New examples have been added to the manual. * testsuite: "test1" renamed to "test.txt" * Matchfinder types HC4 (4 bytes hash-chain) and HT4 (4 bytes hash-table) have been tested and found no better than the current BT4. 2010-04-05 Antonio Diaz Diaz <ant_diaz@teleline.es> * Version 1.10 released. * decoder.h: Input_buffer integrated in Range_decoder. * main.cc: File specified with option "-o" is now created with mode 0666 if umask allows it, deleted if interrupted by user. * main.cc: New constant "o_binary". * main.cc: Dictionary size for options -2, -3, -4 and -8 has been changed to improve linearity of compressed sizes. * lzip.h: Fixed warnings produced by over-optimization (-O3). * Makefile.in: Added quotes to directory names. 2010-01-17 Antonio Diaz Diaz <ant_diaz@teleline.es> Lzip v1.9rc1 2010-01-01 Antonio Diaz Diaz <ant_diaz@teleline.es> * Version 1.9-rc1 released. * main.cc (main): return at least 1 if closing stdout fails. * Makefile.in: Added "--name" option to help2man invocation. * testsuite/check.sh: Use "test1" instead of "COPYING" for testing. Lzip is a lossless file compressor based on the LZMA (Lempel-Ziv-Markov chain-Algorithm) algorithm designed by Igor Pavlov. The high compression of LZMA comes from combining two basic, well-proven compression ideas: sliding dictionaries (i.e. LZ77/78), and markov models (i.e. the thing used by every compression algorithm that uses a range encoder or similar order-0 entropy coder as its last stage) with segregation of contexts according to what the bits are used for. Lzip is not a replacement for gzip or bzip2, but a complement; which one is best to use depends on user's needs. Gzip is the fastest and most widely used. Bzip2 compresses better than gzip but is slower, both compressing and decompressing. Lzip decompresses almost as fast as gzip and compresses better than bzip2, but requires more memory and time during compression. These features make lzip well suited for software distribution and data archival. The amount of memory required for compression is about 6 times the dictionary size, for decompression is a little more than dictionary size. It is also important to appreciate that the decompression memory requirement is set at compression time by the choice of dictionary size. Lzip has a user interface similar to the one of gzip or bzip2. It replaces every file given in the command line with a compressed version of itself, with the name "original_name.lz". Each compressed file has the same modification date, permissions, and, when possible, ownership as the corresponding original, so that these properties can be correctly restored at decompression time. If no file names are specified, lzip compresses (or decompresses) from standard input to standard output. In this case, lzip will decline to write compressed output to a terminal, as this would be entirely incomprehensible and therefore pointless. Lzip will correctly decompress a file which is the concatenation of two or more compressed files. The result is the concatenation of the corresponding uncompressed files. Integrity testing of concatenated compressed files is also supported. Lzip attempts to guess the name for the decompressed file from that of the compressed file as follows: filename.lz becomes filename filename.tlz becomes filename.tar anyothername becomes anyothername.out As a self-check for your protection, lzip stores in the file trailer the 32-bit CRC of the original file and the size of the original file, to make sure that the decompressed version of the file is identical to the original. This guards against corruption of the compressed data, and against undetected bugs in lzip (hopefully very unlikely). The chances of data corruption going undetected are microscopic, less than one chance in 4000 million for each file processed. Be aware, though, that the check occurs upon decompression, so it can only tell you that something is wrong. It can't help you recover the original uncompressed data. Return values: 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 lzip to panic. I compiled this from the official sources using GCC v4.4.4 I used Paul Smedley's build environment, available from http://os2ports.smedley.info to port this programme. Requires libc063.dll available from ftp://ftp.netlabs.org/pub/gcc/libc-0.6.3-csd3.zip Requires Gcc444.dll available from http://download.smedley.info/gcc444.zip With kind regards from the Netherlands, Elbert Pol
 hobbes.nmsu.edu/download/pub/os2/dev/util/Lzip-v1.11-os2.zip
Record updated last time on: 05/02/2025 - 22:05

Translate to...

Add new comment