336 lines
13 KiB
Diff
336 lines
13 KiB
Diff
Description: fix some hyphens used as minus sign and a spelling error.
|
|
Author: Joao Eriberto Mota Filho <eriberto@debian.org>
|
|
Last-Update: 2015-06-25
|
|
Index: safecopy-1.7/src/safecopy.1
|
|
===================================================================
|
|
--- safecopy-1.7.orig/src/safecopy.1
|
|
+++ safecopy-1.7/src/safecopy.1
|
|
@@ -33,13 +33,13 @@ devices (like tapes) you can try to use
|
|
controlled skip over the damaged part for you.
|
|
.PP
|
|
(For example by using "mt seek" and "mt tell" on an SCSI tape device)
|
|
-See the "-S <seekscript>" parameter for details.
|
|
+See the "\-S <seekscript>" parameter for details.
|
|
.PP
|
|
Performance and success of this tool depend extremely on the device driver,
|
|
firmware and underlying hardware.
|
|
.PP
|
|
Currently safecopy supports RAW access to CDROM drives to read data directly of
|
|
-a CD, bypassing some driver dependant error correction. This can speed up data
|
|
+a CD, bypassing some driver dependent error correction. This can speed up data
|
|
retrieval from CDs and reduce system load during recovery, as well as
|
|
increase the success rate. Safecopy uses the disc status syscall to determine
|
|
sector size and addressing of CDs. This fails on mixed-mode or multi-session
|
|
@@ -95,20 +95,20 @@ specification.txt shipped with safecopy.
|
|
Preset to rescue most of the data fast,
|
|
using no retries and avoiding bad areas.
|
|
.IP
|
|
-\fBPresets\fR: -f 10% -r 10% -R 1 -Z 0 -L 2 -M BaDbLoCk -o stage1.badblocks
|
|
+\fBPresets\fR: \-f 10% \-r 10% \-R 1 \-Z 0 \-L 2 \-M BaDbLoCk \-o stage1.badblocks
|
|
.TP
|
|
\fB\-\-stage2\fR
|
|
Preset to rescue more data, using no retries
|
|
but searching for exact ends of bad areas.
|
|
.IP
|
|
-\fBPresets\fR: -f 128* -r 1* -R 1 -Z 0 -L 2 -I stage1.badblocks -o stage2.badblocks
|
|
+\fBPresets\fR: \-f 128* \-r 1* \-R 1 \-Z 0 \-L 2 \-I stage1.badblocks \-o stage2.badblocks
|
|
.TP
|
|
\fB\-\-stage3\fR
|
|
Preset to rescue everything that can be rescued
|
|
using maximum retries, head realignment tricks
|
|
and low level access.
|
|
.IP
|
|
-\fBPresets\fR: -f 1* -r 1* -R 4 -Z 1 -L 2 -I stage2.badblocks -o stage3.badblocks
|
|
+\fBPresets\fR: \-f 1* \-r 1* \-R 4 \-Z 1 \-L 2 \-I stage2.badblocks \-o stage3.badblocks
|
|
.PP
|
|
All stage presets can be overridden by individual options.
|
|
.TP
|
|
@@ -213,7 +213,7 @@ badblock list.
|
|
.IP
|
|
\fBImplies\fR: \-c 0 if \-c is not specified
|
|
.IP
|
|
-\fBDefault\fR: none ( /dev/null if -c is given )
|
|
+\fBDefault\fR: none ( /dev/null if \-c is given )
|
|
.TP
|
|
\fB\-i\fR <\fIbytes\fR>
|
|
Blocksize to interpret the badblockfile given with \-I.
|
|
@@ -225,7 +225,7 @@ Continue copying at this position.
|
|
This allows continuing if the output is a block device
|
|
with a fixed size as opposed to a growable file,
|
|
where safecopy cannot determine how far it already got.
|
|
-The blocksize used is the same as for the -I option.
|
|
+The blocksize used is the same as for the \-I option.
|
|
.br
|
|
\-c 0 will continue at the current destination size.
|
|
.IP
|
|
@@ -269,7 +269,7 @@ on any later run.
|
|
.IP
|
|
\fBWarning\fR:
|
|
When used in combination with incremental mode (\-I) this may overwrite data in
|
|
-any block that occurs in the -I file. Blocks not in the \-I file, or covered
|
|
+any block that occurs in the \-I file. Blocks not in the \-I file, or covered
|
|
by the file specified with \-X are save from being overwritten.
|
|
.IP
|
|
\fBDefault\fR: none
|
|
@@ -366,49 +366,49 @@ How do I...
|
|
- resurrect data as thoroughly as possible?
|
|
.IP
|
|
.B safecopy
|
|
-source dest -f 1* -R 8 -Z 2
|
|
+source dest \-f 1* \-R 8 \-Z 2
|
|
.br
|
|
(assuming logical misalignment of blocks to sectors)
|
|
.IP
|
|
.B safecopy
|
|
-source dest -f 1* -r 1 -R 8 -Z 2
|
|
+source dest \-f 1* \-r 1 \-R 8 \-Z 2
|
|
.TP
|
|
- resurrect data as fast as possible, or
|
|
.TP
|
|
- resurrect data with low risk of damaging the media further:
|
|
-(you can use even higher values for -f and -r)
|
|
+(you can use even higher values for \-f and \-r)
|
|
.IP
|
|
.B safecopy
|
|
-source dest -f 10% -R 0 -Z 0
|
|
+source dest \-f 10% \-R 0 \-Z 0
|
|
.TP
|
|
- resurrect some data fast, then read more data thoroughly later:
|
|
.IP
|
|
.B safecopy
|
|
-source dest -f 10% -R 0 -Z 0 -o badblockfile
|
|
+source dest \-f 10% \-R 0 \-Z 0 \-o badblockfile
|
|
.br
|
|
.B safecopy
|
|
-source dest -f 1* -R 8 -Z 2 -I badblockfile
|
|
+source dest \-f 1* \-R 8 \-Z 2 \-I badblockfile
|
|
.IP
|
|
.I Alternate approach using the new preset features:
|
|
.IP
|
|
.B safecopy
|
|
-source dest --stage1
|
|
+source dest \-\-stage1
|
|
.IP
|
|
.B safecopy
|
|
-source dest --stage2
|
|
+source dest \-\-stage2
|
|
.IP
|
|
.B safecopy
|
|
-source dest --stage3
|
|
+source dest \-\-stage3
|
|
.TP
|
|
- utilize some friends CD-ROM drives to complete the data from my damaged CD:
|
|
.B safecopy
|
|
-/dev/mydrive imagefile <someoptions> -b <myblocksize> -o myblockfile
|
|
+/dev/mydrive imagefile <someoptions> \-b <myblocksize> \-o myblockfile
|
|
.br
|
|
.B safecopy
|
|
-/dev/otherdrive imagefile <someoptions> -b <otherblocksize> -I myblockfile -i <myblocksize> -o otherblockfile
|
|
+/dev/otherdrive imagefile <someoptions> \-b <otherblocksize> \-I myblockfile \-i <myblocksize> \-o otherblockfile
|
|
.br
|
|
.B safecopy
|
|
-/dev/anotherdrive imagefile <someoptions> -b <anotherblocksize> -I otherblockfile -i <otherblocksize>
|
|
+/dev/anotherdrive imagefile <someoptions> \-b <anotherblocksize> \-I otherblockfile \-i <otherblocksize>
|
|
.TP
|
|
- interrupt and later resume a data rescue operation:
|
|
.B safecopy
|
|
@@ -418,11 +418,11 @@ source dest
|
|
(safecopy aborts)
|
|
.br
|
|
.B safecopy
|
|
-source dest -I /dev/null
|
|
+source dest \-I /dev/null
|
|
.TP
|
|
- interrupt and later resume a data rescue operation with correct badblocks output:
|
|
.B safecopy
|
|
-source dest <options> -o badblockfile
|
|
+source dest <options> \-o badblockfile
|
|
.br
|
|
.B <CTRL+C>
|
|
(safecopy aborts)
|
|
@@ -431,7 +431,7 @@ source dest <options> -o badblockfile
|
|
badblockfile savedbadblockfile
|
|
.br
|
|
.B safecopy
|
|
-source dest -I /dev/null -o badblockfile
|
|
+source dest \-I /dev/null \-o badblockfile
|
|
.br
|
|
.B cat
|
|
badblockfile >>savedbadblockfile
|
|
@@ -442,59 +442,59 @@ badblockfile >>savedbadblockfile
|
|
.br
|
|
.B
|
|
safecopy
|
|
-source dest <options> -o badblockfile1
|
|
+source dest <options> \-o badblockfile1
|
|
.br
|
|
.B
|
|
safecopy
|
|
-source dest <options> -I badblockfile1 -o badblockfile2
|
|
+source dest <options> \-I badblockfile1 \-o badblockfile2
|
|
.br
|
|
.B <CTRL+C>
|
|
(safecopy aborts)
|
|
.br
|
|
-latest=$( tail -n 1 badblockfile2 )
|
|
+latest=$( tail \-n 1 badblockfile2 )
|
|
.br
|
|
-if [ -z $latest ]; then latest=-1; fi;
|
|
+if [ \-z $latest ]; then latest=-1; fi;
|
|
.br
|
|
cat badblockfile1 | while read block; do
|
|
.br
|
|
- [ $block -gt $latest ] && echo $block >>badblockfile2;
|
|
+ [ $block \-gt $latest ] && echo $block >>badblockfile2;
|
|
.br
|
|
done;
|
|
.br
|
|
.B
|
|
safecopy
|
|
-source dest <options> -I badblockfile2 -o badblockfile3
|
|
+source dest <options> \-I badblockfile2 \-o badblockfile3
|
|
.TP
|
|
- find the corrupted files on a partially successful rescued file system:
|
|
.B safecopy
|
|
-/dev/filesystem image -M CoRrUpTeD
|
|
+/dev/filesystem image \-M CoRrUpTeD
|
|
.br
|
|
.B fsck
|
|
image
|
|
.br
|
|
.B mount
|
|
--o loop image /mnt/mountpoint
|
|
+\-o loop image /mnt/mountpoint
|
|
.br
|
|
.B grep
|
|
--R /mnt/mountpoint "CoRrUpTeD"
|
|
+\-R /mnt/mountpoint "CoRrUpTeD"
|
|
.br
|
|
(hint: this might not find all affected files if the unreadable
|
|
parts are smaller in size than your marker string)
|
|
.TP
|
|
- exclude the previously known badblocks list of a filesystem from filesystem image creation:
|
|
.B dumpe2fs
|
|
--b /dev/filesystem >badblocklist
|
|
+\-b /dev/filesystem >badblocklist
|
|
.br
|
|
.B safecopy
|
|
-/dev/filesystem image -X badblocklist -x <blocksize of your fs>
|
|
+/dev/filesystem image \-X badblocklist \-x <blocksize of your fs>
|
|
.TP
|
|
- create an image of a device that starts at X and is Y in size:
|
|
.B safecopy
|
|
-/dev/filesystem -b <bsize> -s <X/bsize> -l <Y/bsize>
|
|
+/dev/filesystem \-b <bsize> \-s <X/bsize> \-l <Y/bsize>
|
|
.TP
|
|
- combine two partial images of rescued data without access to the actual (damaged) source data:
|
|
(This is a bit tricky. You need to get badblocks lists for both files somehow
|
|
-to make safecopy know where the missing data is. If you used the -M (mark)
|
|
+to make safecopy know where the missing data is. If you used the \-M (mark)
|
|
feature you might be able to automatically compute these, however this feature
|
|
is not provided by safecopy. Lets assume you have two badblocks files.
|
|
.IP
|
|
@@ -518,7 +518,7 @@ not, swap them)
|
|
image2.dat combined.dat
|
|
.br
|
|
.B safecopy
|
|
-image1.dat combined.dat -I image2.badblocks -i blocksize2 -X image1.badblocks -x blocksize1
|
|
+image1.dat combined.dat \-I image2.badblocks \-i blocksize2 \-X image1.badblocks \-x blocksize1
|
|
.br
|
|
(This gets you the combined data, but no output badblocklist.
|
|
The resulting badblocks list would be the badblocks that are
|
|
@@ -532,7 +532,7 @@ a random open source project.)
|
|
.TP
|
|
- rescue data of a tape device:
|
|
If the tape device driver supports lseek(), treat it as any file,
|
|
-otherwise utilize the "-S" option of safecopy with a to be
|
|
+otherwise utilize the "\-S" option of safecopy with a to be
|
|
self-written script to skip over the bad blocks.
|
|
(for example using "mt seek")
|
|
Make sure your tape device doesn't auto-rewind on close.
|
|
@@ -554,7 +554,7 @@ Meanwhile safecopy supports low level fe
|
|
.PP
|
|
.TP
|
|
Q:
|
|
-What exactly does the -Z option do?
|
|
+What exactly does the \-Z option do?
|
|
.TP
|
|
A:
|
|
Remember back in MS-DOS times when a floppy would make a "neek nark" sound 3
|
|
@@ -576,22 +576,23 @@ CDRW drive, that even reads deeply and p
|
|
key, to make it unreadable) flawlessly. A CDRW drive of the same age at work
|
|
doesn't read any data from that part of the CD at all, while most DVD and combo
|
|
drives have bad blocks every couple hundred bytes. Make full use of safecopys
|
|
-RAW access features if applicable. (-L 2 option)
|
|
+RAW access features if applicable. (\-L 2 option)
|
|
.IP
|
|
As a general guideline:
|
|
--CDRW drives usually do better than read-only CD drives.
|
|
.br
|
|
--CD only drives sometimes do better on CDs than DVD drives.
|
|
+\-CDRW drives usually do better than read-only CD drives.
|
|
.br
|
|
--PC drives are sometimes better than laptop ones.
|
|
+\-CD only drives sometimes do better on CDs than DVD drives.
|
|
.br
|
|
--A drive with a clean lens does better than a dirtball.
|
|
+\-PC drives are sometimes better than laptop ones.
|
|
.br
|
|
--Cleaning up CDs helps.
|
|
+\-A drive with a clean lens does better than a dirtball.
|
|
.br
|
|
--Unless you use chemicals.
|
|
+\-Cleaning up CDs helps.
|
|
.br
|
|
--Using sticky tape on a CD will rip of the reflective layer permanently
|
|
+\-Unless you use chemicals.
|
|
+.br
|
|
+\-Using sticky tape on a CD will rip of the reflective layer permanently
|
|
rendering the disk unreadable.
|
|
.PP
|
|
.TP
|
|
@@ -637,34 +638,34 @@ during operation.
|
|
.IP
|
|
When you rescue data, rescue good data first before attempting to
|
|
access bad sectors. Safecopy allows you to skip known problem sectors
|
|
-using a badblock exclude file (-X) which you might be able to retrieve
|
|
+using a badblock exclude file (\-X) which you might be able to retrieve
|
|
from system logs or from the drive internal logs, via smartmontools or
|
|
similar software. Be aware that you might possibly need to convert
|
|
physical sector numbers into logical block numbers depending on your
|
|
source.
|
|
.IP
|
|
Also you should tell safecopy to jump out of any problematic areas ASAP
|
|
-and continue somewhere else. Parameters "-f 10% -r 10% -R 0 -Z 0" would
|
|
+and continue somewhere else. Parameters "\-f 10% \-r 10% \-R 0 \-Z 0" would
|
|
do the trick by making safecopy skip 10% of the device content and
|
|
continue there without backtracking. You can always attempt to get the
|
|
data in between later, first get the supposedly good data on the rest
|
|
of the drive. Depending on the method of data recovery you plan on
|
|
-using, it may make sense to mark the bad data with the "-M" option.
|
|
+using, it may make sense to mark the bad data with the "\-M" option.
|
|
This allows you to later find files affected by data corruption more
|
|
-easily. Use the "-o" option to make safecopy write a badblock list
|
|
+easily. Use the "\-o" option to make safecopy write a badblock list
|
|
with all blocks skipped or unreadable.
|
|
.IP
|
|
When safecopy is done with this first run, you can attempt a second go
|
|
-trying to get more data. Using smaller values for "-f" and allowing
|
|
-safecopy to backtrack for the end of the affected area "-r 1*".
|
|
-Be sure to use incremental mode "-I" to only read the blocks skipped
|
|
+trying to get more data. Using smaller values for "\-f" and allowing
|
|
+safecopy to backtrack for the end of the affected area "\-r 1*".
|
|
+Be sure to use incremental mode "\-I" to only read the blocks skipped
|
|
in the first run.
|
|
.IP
|
|
It may make sense to let the drive cool down between runs.
|
|
Once you got all the data from the "good" areas of the drive you can
|
|
risk more "thorough" access to it. Increase the numbers of retries
|
|
-"-R" in case of bad blocks, maybe together with a head realignment
|
|
-"-Z 1". "-f 1*" would make safecopy try to read on every single block,
|
|
+"\-R" in case of bad blocks, maybe together with a head realignment
|
|
+"\-Z 1". "\-f 1*" would make safecopy try to read on every single block,
|
|
not skipping over bad areas at all.
|
|
.IP
|
|
If your drive stops responding, power it down, let it cool down for a
|