Recoverable File Archiving with Free Software?
Viqsi asks: "Back in my Win32 days, I was a very frequent user of RAR archives. I've had them get hit by partial hardware failures and still be recoverable, so I've always liked them, but they're completely non-Free, and the mini-RMS in my brain tells me this could be a problem for long-term archival. The closest free equivalent I can find is .tar.bz2, and while bzip2 has some recovery ability, tar is (as far as I have ever been able to tell) incapable of recovering anything past the damaged point, which is unacceptable for my purposes. I've recently had to pick up a copy of RAR for Linux to dig into one of those old archives, so this question's come back up for me again, and I still haven't found anything. Does anyone know of a file archive type that can recover from this kind of damage?"
ever heard of parity archives?
the mini-RMS in my brain
You really ought to have that looked at..
There used to be a cpio-like archiver called apio, that was designed for those types of situations. Of course, that might not be much help for non-unix systems (unless you plan on running in Cygwin), but I remember having great success with it for the old QIC tapes, which were in my experience the worst backup medium for important data ever (better to have no backup than think you have a good one, but have a dead tape)
--That's the point of being root, you can do anything you want, even if it's stupid.
Store the recovery information outside the archive. Par2 works really well. You can configure how much redundancy you want (2% should be fine for occasional bit errors, 30% if you burn it to a CD that might get mangled, etc.). It's a work in progress, but it's already really useful.
The format you're looking for is any format you like stored on reliable storage.
Why bother with all the intricacies of a pseudo-fault-tolerant data structure? Ultimately the best archive format for recovery will be one that just duplicates the whole archive twice over, doubling space requirements and improving immunity to lost sectors on drives. At which point one asks, "Why don't I just stick to simple files and archives, and use reliable storage that handles this crap for me, for all my data, automagically?" Storage of any sort just keeps getting cheaper and bigger. If you have any interest in the longevity of your data these days, there's almost no excuse for not using the data-mirroring built into virtually every OS these days and doubling your storage cost and read performance while preventing yourself from worrying about drive failure.
11*43+456^2
True, tar cannot handle a single error... all files past that error are lost.
On the other hand, cpio (and clones) can handle missing/damaged data without losing the undamaged portions that follow (you only lose the archived file that contains the damage). It is the only common/free format I can think of (from the top of my head) that is capable of this.
- Preferences: Solaris 10 (servers), Ubuntu (desktops), Solaris 11 (personal servers) -
if you make a big tar then bzip2-it, then store the file on a CD. .tar.bz2, and it gives you some garbage data.
then 2 years later you want the data back.
there's a read-error at some point within the
bunzip2 will actually be able to recover all other 900kB chunks of the original tar file, except for this missing chunk or part of it.
Tar will just choke at that point and you lost everything past the read error. bunzip2 was able to recover the data past the error, but tar can't use the data.
It's quite frustrating.
Wouldn't simply running tar with --ignore-failed-read achieve the desired results? It wouldn't simply stop once it hits an error. Instead, tar will proceed beyond the error and probably just write out junk data (if anything at all) for the corrupted part of the archive.
DISCLAIMER: I haven't tried this, and I'm not entirely sure this is what you want.
RAR compression is free for decompression with source available, heaps of precompiled binaries for decompression on your OS of choice and it's included in a whole heap of popular free archive programs. Just burn the latest source on every CD you make and you should be fine.
They are backing up data to a MiniDV camcorder adding forward error correction using a simple command line utility to allow holes in the tape the size of a pin without any data loss.
-- John.
its an amazing technology...only quite involved.
Basically you concatenate all the files together (cat should do), print it out on good 32lb paper, get a professor's signature and file it in a college lib...heard those things stick around for centuries
The gzip Recovery Toolkit
/tmp/tar.log 2>&1 & /tmp/tar.log
http://www.urbanophile.com/arenn/hacking/gzrt/gzrThe gzip Recovery Toolkit has a program - gzrecover - that attempts to skip over bad data in a gzip archive and a patch to GNU tar that enables that program to skip over bad data and extract whatever files might be there. This saved me from exactly the above situation. Hopefully it will help you as well.
[...]
Here's an example:
$ ls *.gz
my-corrupted-backup.tar.gz
$ gzrecover my-corrupted-backup.tar.gz
$ ls *.recovered
my-corrupted-backup.tar.recovered
$ tar --recover -xvf my-corrupted-backup.tar.recovered >
$ tail -f
Back in my Win32 days, I was a very frequent user of RAR archives.
Bablefish translation: I was a huge warez kiddie.
On a related noted, were there any wide-spread, legitimate uses of
tarfix
may help some of those archive issues.
But, the archive format is not going to save you. Use multiple media. You need more than one physical archive for better safety, regardless of format. Hell, you'll probably die before some of today's media fails.
rar has one of the best recovery methods, as it has mutliple of them.
during compression:
Recovery Record (-rr option)
it has Recovery Record, this is data appended to the actual
rar file that lets you recover from errors within a file. The
default RR takes 1% of the archive and lets you recover 0.6%. You
can change this behaviour to going more recoverability by
specifying -rr[N]p and telling it larger percantage for recoverability.
Recovery Volume (-rv option)
further more, rar supports PAR like volumes called REV
That can recover full missing files. For all you are concerned REV is
PAR, except its integrated to RAR utility. all you type is unrar *.rar
and rar will recover files for you, either through RR or REV. No need
to muck around twenty different utilities just to ensure proper file.
Non Solid Archiving (-s- option)
Further more, rar support non solid archiving, meaning each file is
saved using new compression statistics. You will lose some space due
to this method, however you will gain speed (you dont need to decompress
first 20 files to gain access to 21st file), as well as you will gain
partial recoverability (if file 20 is corrupt, you can still decompress
file 21)
during decompression:
Keep Broken Files (-kb option)
By default, like most archiving software, rar will not save a file
that is known that is corrupt, unless you explicitly force it to do
so.
I highly recommend checking out the command line manual to RAR,
Eugene Roshal is GOD
It's been possible to do that for well over a decade, using various utilities such as tarx. I've successfully recovered files after a damaged point in a tarball many times. (Sigh, I used to use an old AT&T UNIX with a #$*@# broken tar, which occasionally created corrupt tarballs).
See this post on the Sun Managers list circa 1993, and the venerable comp.sources.unix collection, volume 24, for the sources.