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?"
Are you sure it's unacceptable that tar archives are breakable? The way I see it, you'll tar your files then bzip them and finally put them on a backup server/CD/DVD. The bzip layer will provide the auto-repairing features, I don't see how it could break between having the tar and bzipping it. Is this for a normal environment? If your harddrive breaks during or after creating the tar, then the bzip would fail, no? Please tell us more about your situation if not.
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
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.
(Personally, I don't care about recovery records, I just keep two copies of everything, and I moved to 7-zip -- which can decompress RAR -- about six months ago.)
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.
> were there any wide-spread, legitimate uses of .RAR?
RAR was heavily used in Germany, among the gamer community. A lot of Descent
players for example distributed their custom levels, missions, textures,
hogfile utilities, savegame editors, and whatnot in RAR format. It was
annoying; I had to go hunt down and download a RAR extractor just to install
some of the stuff.
The usual argument was that RAR was "better" than ZIP either because of the
compression rates or because of the partial recoverability or whatever. My
opinion on the matter has always been that for distributing stuff over the
internet, the most ubiquitous format is automatically the best, so ZIP is
better than RAR irrespective of technical issues, due to compatility concerns.
By the same reasoning, gzip is automatically better than bzip2, and no amount
of technical superiority makes a good enough reason to use bzip2 over gzip.
Frankly, for anything that's not inherently *nix-specific, ZIP is better than
gzip for the same reason. Not everyone agrees with me about this, obviously.
Cut that out, or I will ship you to Norilsk in a box.