Answers:
您可以使用dupemerge将相同的文件转换为硬链接。但是,在大文件集上将花费很长时间。文件的SHA(或MD5)散列几乎可以肯定会更快地工作,但是在查找重复项时您将不得不做更多的工作。意外碰撞的可能性非常低,实际上您可以忽略它。(实际上,许多重复数据删除产品已经这样做了。)
处理照片和音乐的最佳选择是获得量身定制的工具,以便特别查找这些项目的副本。尤其是因为在诸如标记或裁剪或编码差异之类的事情出现之后,您可能没有二进制级别相同的文件。您将需要能够找到“外观”相同的照片和“声音”相同的音乐的工具,即使对文件进行了很小的调整。
hardlink
速度非常快(120万个文件需要200秒,320GB)
好吧,如果有能力,您可以设置一个去重复的文件系统,并在上面进行备份。这不仅会删除整个文件的重复数据,还会删除相似的文件。例如,如果您在多个位置具有相同的JPEG,但每个版本上具有不同的EXIF标签,则重复数据删除文件系统将只存储一次图像数据。
重复数据删除文件系统包括lessfs,ZFS和SDFS。
rsync --link-dest
如果您也想保存读/传输,@ Znik 是您的朋友。一个简单的介绍是在这里:netfuture.ch/2013/08/...
当我做这种事情时,我了解到,实际上,在几个星期的时间里,自己在空闲时间浏览文件会更具吸引力/更省时。您可以通过计算机更好地分辨事物之间的差异。
如果您不同意,那么我建议使用EasyDuplicateFinder。但是,正如我上面提到的,要花5GB的文件大约要花费一天的时间。
另一个要注意的是,Crashplan可以执行您以前所做的事情,但是会以一种更有组织性的,非版本化的方式进行。
对于图像文件,请使用findimagedupes。它也打包在debian中。
如果整个文件相同,则硬链接仅执行重复数据删除。如果标题(EXIF,ID3等)或元数据(所有者)不同,则将不会链接它们。
如果您有机会使用支持块重复数据删除的文件系统(ZFS,btrfs等),请改用它。我非常喜欢btrfs 的脱机(aka 批处理)dedup支持,它支持扩展级别的重复数据删除,并且不会不断消耗大量内存(如ZFS联机dedup)。
重复数据删除还具有以下优点:用户可以在不通知其他副本的情况下修改文件(这可能不适用于您的情况,但在其他情况下不适用)。
请参阅https://btrfs.wiki.kernel.org/index.php/Deduplication进行出色的讨论。