Have fun, this is not well tested, it will prolly work fine with readonly CD-Images but certainly have problems with hd-installs since there are equal files which *should not* be hardlinked! Take care.
One could probably add filters to the 'find' command to exclude such files. Since I did this as fast hack for CD remastering so i have no need for better selections. I'm working on a much more advanced file-unifier for the vserver project. When that is finished i will announce it here too (ETA: Mid Feburary, i'm in hollyday next time)

Results (compressed image):
691M Jan 2 13:49 KNOPPIX.new
664M Jan 2 17:25 KNOPPIX.new.unified



PS: Klaus ... if you use this for the main Knoppix, the free space you get is dedicated for a recent version of 'distcc', thanks.

Code:
#!/bin/sh

find $1 -type f -exec md5sum {} \; |\
sort +0 |\
{
        read sum file;
        while [ "$sum" != "" ]; do
                while read sum2 file2 && [ $sum = $sum2 ]; do
                        ln -f "$file" "$file2"
                done
                sum=$sum2
                file="$file2"
        done
}