Wayback is an implementation of a versioning file system for Linux. This means that when you use a Wayback file system, old versions of files are never lost. No matter how much you change a file or directory, everything is always kept in a versioning file so that you never lose important data. Wayback provides the ability to remount any already mounted file system with versioning support under a different directory. Because of this, you can use Wayback on any block device with any base file system (ext3, ReiserFS, FAT, etc).
Wayback uses the FUSE userspace file system module to implement the file system. For more information about FUSE, see the AVFS project page on SourceForge.
Wayback has not been updated to work with FUSE 2 which is included in newer versions of linux kernel 2.6. We do intend to perform this update as time permits. If you are willing to help in this proces please join the wayback-devel mailing list. If you do not have time to help but have information that you feel may be pertinent to those who do, please email the list at wayback-devel@sourceforge.net.
Upgrade Wayback to use FUSE 2 and thus support newer kernel versions.
Implement new faster C utilities to replace the Perl counterparts.
Implement automatic version limiting to save disk space.
Implement version compacting to remove unnecessary intermediate versions and reduce time granularity of old versions to save disk space.
Add support for other types of versioning including redo logs
Installation requires a kernel source tree representative of your running kernel in order to compile the FUSE module.
Installing Wayback in most cases should be as simple as unpacking the archive and running make and make install. If make is not successful, read the documentation and compile FUSE in the included subdirectory, and once FUSE is compiled successfully in its subdirectory, run make install.
Superuser (root) access is required to install Wayback.
Installing Wayback will install a script named mount.wayback in your /bin directory. This script can be run as you would expect mount to be run. That is, a command line of
$ mount.wayback /home/my/real/files /home/where/I/want/them
will remount the data at /home/my/real/files under the path /home/where/I/want/them. The versioning can then be unmounted with the umount command as follows:
$ umount /home/where/I/want/them
After versioning has been used in a directory, modifying files or subdirectories in that directory without using versioning will cause the versioning information to become corrupt. If you intend to version a directory, never use it without versioning.
Wayback can be downloaded from the SourceForge project page.
For questions or comments regarding Wayback, please email me at brian@cs.unc.edu.