remove-master - Remove files and remember them

About

Remove-master works like the normal 'rm' command with the addition that cryptographically strong digests of deleted files are saved in a database.

Using the digests in the database, remove-master can automatically delete copies of already deleted files.

Remove-master consists (mainly) of four commands:

remind-rm
Delete the given files but first calculate their digests and store them in the database for later use by auto-rm.
auto-rm
Only delete files whose digests are stored by remind-rm in the database.
forget-rm
Never delete any files but remove the digests of the given files from the database so that auto-rm will no longer delete such files.
find-rm
Search for files already deleted and print their names.

Why?

If you have collected a lot of data in the past 20 years and used many different computers and made backups of your files on many different media and now you would like to tidy up old archives including software, drivers, images and other documents, you maybe would like only decided once for every content if you would like to delete it permanently.

So when you check another ten year old CD-R or 15 year old tape you are able to delete files automatically which you decided already that they are not worth keeping.

So if you have this situation, maybe remove-master will be of interest to you. Maybe there are another applications for this tool, too.

News

14. December 2007: Remove-Master Version 0.3 Released

This release contains a new command called find-rm to search for already deleted files.

5. December 2007: Remove-Master Version 0.2 Released

This release fixes a small bug in interactive behavior and reduces the dependencies on GNU extensions so that it should compile on non-GNU systems, too.

20. November 2007: Remove-Master Version 0.1 Released

This is the first public release of remove-master.

Example

Below a small example how remove-master works. The two files a and a.copy are identical as well as b and b.copy.

$ ls -l a* b*
-rw-r--r-- 1 mroth users  128 2007-11-20 12:22 a
-rw-r--r-- 1 mroth users  128 2007-11-20 12:23 a.copy
-rw-r--r-- 1 mroth users  128 2007-11-20 12:23 b
-rw-r--r-- 1 mroth users  128 2007-11-20 12:23 b.copy

$ remind-rm --verbose *.copy
removed regular file 'a.copy'
removed regular file 'b.copy'

$ ls -l a* b*
-rw-r--r-- 1 mroth users  128 2007-11-20 12:22 a
-rw-r--r-- 1 mroth users  128 2007-11-20 12:23 b

$ forget-rm --verbose b
forget regular file 'b'

$ ls -l a* b*
-rw-r--r-- 1 mroth users  128 2007-11-20 12:22 a
-rw-r--r-- 1 mroth users  128 2007-11-20 12:23 b

$ auto-rm --verbose a b
removed regular file 'a'

$ ls -l a* b*
-rw-r--r-- 1 mroth users  128 2007-11-20 12:23 b

Documentation

Full documentation is included as a manual page in the source distribution.

Download

Remove-master is available as a gziped tar archive. Full documentation consisting of a manual page is included as well build instructions.

The archives are signed using GPG with my key

Old releases:

Copyright

Remove-master is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Remove-master is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Contact

Please feel free to send questions, suggestions, feature requests and bug reports to Michael Roth <mail@mroth.net>.