Well, the solution that I have experience with (which seemed to work
pretty well when I was using it) is a package developed at Purdue
called entomb. I'm looking at the design docs for it right now, and
basically what it entails is creating a library 'libtomb', which
contains replacements for creat, open, rename, truncate and unlink,
which call an 'entomb' program to save the file off to a directory
owned by an entomb user which is exempt from quotas. Users can then
get back files clobbered by programs which use these libraries by
using a program called unrm. The system seemed to work well (and
still does, I assume) for a large number of users, and it doesn't
require any changes to the kernel. Looks like it will run on Linux
fairly trivially, but I haven't checked. Anyways, if anyone is
interested, it's at ftp.cc.purdue.edu as /pucc/entomb-3.5.tar.gz.
-> BTW what is meant by a journaling filesystem? Is this a filesystem that can
-> be "unwound" to the state it was in at some previous time, or is this a
-> filesystem that stores enough info on what it is doing beforehand to
-> recover from any error?
I believe that a journalling filesystem is one that can be rewound to
a sane state at any point in time. So merely far enough to recover
from errors.
-Larry
-- Larry Daffner | Linux: Unleash the workstation in your PC! vizzie@airmail.net | http://www.linux.org/ Never underestimate the bandwidth of a station wagon full of mag tapes -- Dennis Ritchie