Jeśli masz dane z dużą ilością duplikatów to polecam sprawdzić narzędzie rdfind. Narzędzie zastępuje duplikaty symlinkami lub usuwa je.
Jeśli potrzebujesz go przez duplikaty w backupach to polecam rozwiązać problem fundamentalnie - BorgBackup. BorgBackup sam zajmuje się deduplikacją, kompresją i szyfrowaniem backupów.
Mój workflow
- Przenisienie potencjalnie zduplikowane plików do jednego miejsca. (rozpakuj wszystkie archiwa!!!).
- Zrobienie
updatedb, żeby mieć szybkie indeksowanie zlocate. - Przejrzenie plików które napewno można usunąć (oszczędza czas, liczenie checksumów troche trwa)
Uwaga
Poniższe sugestie dotyczące katalogów/plików są subiektywne i służą tylko jako wskazówka. W niektórych przypadkach mogą się w nich znajdować bardzo ważne dane. upewnij się, że wiesz, co usuwasz.
.cache
.cargo
go
usr
bin
sbin
boot
lib
lib64
tmp
nix
.next
/var/cache/distfiles
/var/cache/pacman
/var/db/repos
SecLists
node_modules
*initrd*
*linux*
*vmlinuz*
restore
*~
to_remove
*.iso
*.img
*.img.zst
cache2
Cache
.npm or .npm/_cacache
*/_build
.venv
venv
Deduplikacja z rdfind
Po usunięciu oczywistych śmieci:
rdfind -checksum md5 -deterministic false -deleteduplicates true *
md5 jako algorytm i wyłączenie deterministyczności niesie pewne ryzyko, dostostuj w zależności od twoich danych.
Komenda usuwa duplikaty zamiast zastępowania ich linkami by uniknąć nieporzebnego narzutu, np. związanego z inode’ami.