Fork me on GitHub














a screen of rmlint working



rmlint
A commandline tool to find unnecessary files (duplicates, tmpfiles, unstripped binaries and more)

Features



Dependencies

Only requirement is a POSIX-compilant Operating System, with a glibc version > ancient
Till now it has been succesfully tested on Linux 32/64bit OS.



Install

## DOWNLOAD

# Git way
git clone https://github.com/sahib/rmlint.git 

# OR

# Zip way
wget --no-check-certificate http://github.com/sahib/rmlint/zipball/master -O rmlint.zip
unzip rmlint.zip

# OR

# Tar way
wget --no-check-certificate http://github.com/sahib/rmlint/tarball/master -O rmlint.tar
tar xfv rmlint.tar
# compile it

cd <name_of_the_dir>
./configure
make -j 4 
sudo make install 


Usage

Please see 'man rmlint' or 'rmlint -h' for detailed information.
Note that rmlint will *never* delete anything without your confirmation.



License

rmlint is licensed under the terms of the GPLv3



Author

Christopher <Sahib> Pahl (sahib@online.de)
Send all suggestions / bugreports / patches to this address - Thanks!
See also my github-page for more info on me.



Disclaimer

rmlint was written carefully in the hope to be useful, but I don't give any warranty that it won't eat your data!
If this happens, and if it was due to a bug in rmlint, please
make a bugreport, so offers won't suffer from it!


A note about false positives:

Short: False Positves are actuallly possible, but very, very, very unlikely.
They would need to have the same size, fingerprint and checksums to be marked as twins.
md5 is not perfect, but the probability of getting false positves on a normal set of data is the same as lim(1/x) : x -> +inf = 0 + h; where h ~ 0

But isn't there a solution to be 100% sure? Yes, there is. It's the "--paranoid/-p" option. It does a
true byte-by-byte comparasion of each(!) file. Be warned, because it's incredibly slow.



What it does internally (Algorithm):

The algorithm tries to mimize IO as far as possible, thus focusing on CPU usage:

(Pseudo-)Speed comparasion: