diff options
author | Daniel Baumann <mail@daniel-baumann.ch> | 2015-11-07 11:50:34 +0000 |
---|---|---|
committer | Daniel Baumann <mail@daniel-baumann.ch> | 2015-11-07 11:50:34 +0000 |
commit | 5a1def2b887dfc18a50032e8645df79a91ebeecd (patch) | |
tree | 7faff8fbc466cedf5707381d022e03ef13f2c489 /doc/lziprecover.info | |
parent | Adding debian version 1.17~pre1-1. (diff) | |
download | lziprecover-5a1def2b887dfc18a50032e8645df79a91ebeecd.tar.xz lziprecover-5a1def2b887dfc18a50032e8645df79a91ebeecd.zip |
Merging upstream version 1.17~rc1.
Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
Diffstat (limited to 'doc/lziprecover.info')
-rw-r--r-- | doc/lziprecover.info | 101 |
1 files changed, 75 insertions, 26 deletions
diff --git a/doc/lziprecover.info b/doc/lziprecover.info index 6c636e8..05c1196 100644 --- a/doc/lziprecover.info +++ b/doc/lziprecover.info @@ -12,12 +12,13 @@ File: lziprecover.info, Node: Top, Next: Introduction, Up: (dir) Lziprecover Manual ****************** -This manual is for Lziprecover (version 1.17-pre1, 16 October 2014). +This manual is for Lziprecover (version 1.17-rc1, 21 January 2015). * Menu: * Introduction:: Purpose and features of lziprecover * Invoking lziprecover:: Command line interface +* Data safety:: Protecting data from accidental loss * Repairing files:: Fixing bit-flip and similar errors * Merging files:: Fixing several damaged copies * File names:: Names of the files produced by lziprecover @@ -28,7 +29,7 @@ This manual is for Lziprecover (version 1.17-pre1, 16 October 2014). * Concept index:: Index of concepts - Copyright (C) 2009-2014 Antonio Diaz Diaz. + Copyright (C) 2009-2015 Antonio Diaz Diaz. This manual is free documentation: you have unlimited permission to copy, distribute and modify it. @@ -104,7 +105,7 @@ like lzip or lunzip. line of defense for the case where the backups are also damaged. -File: lziprecover.info, Node: Invoking lziprecover, Next: Repairing files, Prev: Introduction, Up: Top +File: lziprecover.info, Node: Invoking lziprecover, Next: Data safety, Prev: Introduction, Up: Top 2 Invoking lziprecover ********************** @@ -252,20 +253,66 @@ invalid input file, 3 for an internal consistency error (eg, bug) which caused lziprecover to panic. -File: lziprecover.info, Node: Repairing files, Next: Merging files, Prev: Invoking lziprecover, Up: Top +File: lziprecover.info, Node: Data safety, Next: Repairing files, Prev: Invoking lziprecover, Up: Top -3 Repairing files +3 Protecting data from accidental loss +************************************** + +There are 3 main types of data corruption that may cause data loss: +single-byte errors, multi-byte errors (generally affecting a whole +sector in a block device), and total device failure. + + Lziprecover protects natively against single-byte errors (*note +Repairing files::), as long as file integrity is checked frequently +enough that a second single-byte error does not develop in the same +member before the first one is repaired. + + Lziprecover also protects against multi-byte errors (*note Merging +files::), if at least one backup copy of the file is made. + + The only remedy for total device failure is storing backup copies in +separate media. + + How does lzip compare with gzip and bzip2 with respect to data +safety? Lets suppose that you made a backup copy of your valuable +scientific data, compressed it, and stored two copies on separate +media. Years later you notice that both copies are corrupt. + + If you compressed with gzip and both copies suffer any damage in the +data stream, even if it is just one altered bit, the original data can't +be recovered. + + If you used bzip2, and if the file is large enough to contain more +than one compressed data block (usually larger than 900 kB), and if no +block is damaged in both files, then the data can be manually recovered +by splitting the files with bzip2recover, verifying every block and then +copying the right blocks in the right order in another file. + + But if you used lzip, the data can be automatically recovered as +long as no byte is damaged in both files. + + Note that each error in a bzip2 file makes a whole block unusable, +but each error in a lzip file only affects the damaged bytes, making it +possible to recover a file with thousands of errors. + + +File: lziprecover.info, Node: Repairing files, Next: Merging files, Prev: Data safety, Up: Top + +4 Repairing files ***************** Lziprecover can repair perfectly most files with small errors (up to one single-byte error per member), without the need of any extra redundance at all. If the reparation is successful, the repaired file will be -identical bit for bit to the original. +identical bit for bit to the original. This makes lzip files resistant +to bit-flip, one of the most common forms of data corruption. The error may be located anywhere in the file except 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. +trailer (last 8 bytes of each member). If the error is in the header it +can be easily repaired with a text editor like GNU Moe (*note File +format::). If the error is in the member size, it is enough to ignore +the message about 'bad member size' when decompressing. Bit-flip happens when one bit in the file is changed from 0 to 1 or vice versa. It may be caused by bad RAM or even by natural radiation. I @@ -289,7 +336,7 @@ lziprecover repairs more efficiently the worst errors. File: lziprecover.info, Node: Merging files, Next: File names, Prev: Repairing files, Up: Top -4 Merging files +5 Merging files *************** If you have several copies of a file but all of them are too damaged to @@ -330,7 +377,7 @@ errors are randomly located inside each copy). File: lziprecover.info, Node: File names, Next: File format, Prev: Merging files, Up: Top -5 Names of the files produced by lziprecover +6 Names of the files produced by lziprecover ******************************************** The name of the fixed file produced by '--merge' and '--repair' is made @@ -341,7 +388,7 @@ original file name ends with one of the extensions '.tar.lz', '.lz' or File: lziprecover.info, Node: File format, Next: Examples, Prev: File names, Up: Top -6 File format +7 File format ************* Perfection is reached, not when there is no longer anything to add, but @@ -414,7 +461,7 @@ additional information before, between, or after them. File: lziprecover.info, Node: Examples, Next: Unzcrash, Prev: File format, Up: Top -7 A small tutorial with examples +8 A small tutorial with examples ******************************** Example 1: Restore a regular file from its compressed version @@ -485,7 +532,7 @@ correct file produced is saved in 'big_db_00001.lz'. File: lziprecover.info, Node: Unzcrash, Next: Problems, Prev: Examples, Up: Top -8 Testing the robustness of decompressors +9 Testing the robustness of decompressors ***************************************** The lziprecover package also includes unzcrash, a program written to @@ -562,8 +609,8 @@ caused unzcrash to panic. File: lziprecover.info, Node: Problems, Next: Concept index, Prev: Unzcrash, Up: Top -9 Reporting bugs -**************** +10 Reporting bugs +***************** There are probably bugs in lziprecover. There are certainly errors and omissions in this manual. If you report them, they will get fixed. If @@ -584,6 +631,7 @@ Concept index * Menu: * bugs: Problems. (line 6) +* data safety: Data safety. (line 6) * examples: Examples. (line 6) * file format: File format. (line 6) * file names: File names. (line 6) @@ -598,17 +646,18 @@ Concept index Tag Table: Node: Top231 -Node: Introduction1153 -Node: Invoking lziprecover4249 -Node: Repairing files9686 -Node: Merging files11371 -Node: File names13212 -Node: File format13676 -Node: Examples16183 -Ref: ddrescue-example17384 -Node: Unzcrash18493 -Node: Problems21047 -Node: Concept index21597 +Node: Introduction1216 +Node: Invoking lziprecover4312 +Node: Data safety9745 +Node: Repairing files11661 +Node: Merging files13563 +Node: File names15404 +Node: File format15868 +Node: Examples18375 +Ref: ddrescue-example19576 +Node: Unzcrash20685 +Node: Problems23239 +Node: Concept index23791 End Tag Table |