Hashdeep

Hashdeep is a reasonable way to generate checksums and test integrity on file trees.

On the source side, navigate to the parent directory of the one you want to hash and use the relative paths flag so as to avoid any issue with absolute path differences between the source and destination folders.

cd /srv/some/Parent/Directory
hashdeep -j 1 -c md5 -r -l > ~/hashes DirectoryYouWantToHash

The flags we are using are:

-j 1     # Threads to use. Adjust down if you have slow IO
-c md5   # Algorythem. md5 is the fastet in testing
-r       # Recursive
-l       # Use relative paths so it's more portable

Copy the hashes text file to the destination side and repeat.

cd /srv/some/Possibly/Different/Parent/Directory
hashdeep -r -a -v -l -k ~/hashes DirectoryToCheck

The flags we are using are:

-r # Recursive, as before
-a # Archive checking mode
-v # Verbose summary
-l # Relative as before
-k # File that has the sums to use for checking

Last modified March 17, 2026: Shorten menus (c0227ad)