rdfind

rdfind

find duplicate files and optionally link or delete them

curl -fsSL https://unflab.app/get | sh -s -- rdfind

Installs to ~/.local/bin. Add --prefix /usr/local/bin to
put it somewhere else, or --uninstall to remove it.

Why it’s here

Escapes a dependency tree: Homebrew’s build pulls in libraries this tool never touches at run time.

Details

Original package rdfind
Version 1.8.0
Licence GPL-2.0-or-later
Upstream https://rdfind.pauldreik.se/
Source rdfind-1.8.0.tar.gz
Version check rdfind --version
Download unflab-rdfind-1.8.0-arm64-apple-darwin.tar.gz

Built from that exact tarball, with its SHA-256 pinned in the
recipe. The binary links against nothing outside /usr/lib
and /System/, checked in CI before release.


rdfind finds duplicate files across directories and can replace the
duplicates with hard links or symlinks, or delete them — useful for
reclaiming space without losing anything.

rdfind -dryrun true ~/Downloads       # report only, change nothing
rdfind -makehardlinks true ~/Photos   # replace duplicates with hard links
rdfind -deleteduplicates true ~/tmp   # delete them outright

Always run with -dryrun true first — it writes a results.txt showing
exactly what it would do.

man rdfind has the rest.

Install

./install.sh                      # into ~/.local/bin
./install.sh --prefix /usr/local/bin
./install.sh --uninstall

About this build

brew install rdfind brings nettle, which in turn brings gmp —
three formulae for one small deduplication tool.

This package has neither. nettle is built from source with public-key
support disabled and linked statically. That’s what removes gmp: gmp is
needed only by libhogweed, nettle’s public-key half, and rdfind uses
nothing but its hash functions. The binary links only libc++ and
libSystem, both already part of macOS.

Upstream

rdfind is Paul Dreik’s work. unflab only compiles and packages it.