Esta semana logré rescatar un viejo disco de mi época de Windowsero y me propuse conectarlo para hacerle una "limpieza" de archivos, es decir, hacer un poco más de espacio. La idea era borrar la mayor parte de su contenido y usarlo para guardar backups, pero la nostalgia me impide deshacerme de un montón de archivos y software absolutamente obsoleto (como por ejemplo instaladores de Winamp 2, Firefox 2.0 y hasta una imagen iso de Windows 98 SE).
Como tenía basura acumulada de muchos años, luego de conectar el disco en mi workstation CentOS, pensé en utilizar una herramienta para buscar archivos duplicados. Buscando rápidamente me topé con fdupes
, una herramienta para buscar archivos duplicados o repetidos en GNU/Linux.
Tal como dice su página de manual (manpage), fdupes
busca archivos duplicados en un determinado directorio o conjunto de directorios. fdupes
busca en la ruta archivos duplicados, los cuales se detectan comparando los tamaños de archivos y hashes MD5, seguido de una comparación byte por byte (en ese orden).
La herramienta fdupes
es provista por el paquete homónimo. Para instalarla en CentOS 6 es necesario contar con el repositorio RPMforge:
# yum install fdupes
Montado el disco rígido en /mnt/disko/
, procedí a buscar archivos duplicados utilizando las opciones -r
y -S
:
-r --recurse include files residing in subdirectories
-S --size show size of duplicate files
# fdupes -S -r /mnt/disko/
La herramienta es capaz de detectar toda la basura replicada. Como tenía muchos archivos repetidos en diferentes directorios, la salida fue muy grande. Ejemplo de una porción de la salida de fdupes
:
42000 bytes each: /mnt/disko/soft/Winamp/Skins/Pioneer.zip /mnt/disko/soft/Winamp/Skins/pioneer2.zip 133254 bytes each: /mnt/disko/soft/Winamp/Skins/WinampMP11.sz.wsz /mnt/disko/soft/Winamp/Skins/winamp_mp11.wsz 198608 bytes each: /mnt/disko/soft/Winamp/Skins/SPY AMP PRO V.wsz /mnt/disko/soft/Winamp/WinAmp2/Skins/Skins (abstract)/SPY AMP PRO V.wsz 102832 bytes each: /mnt/disko/soft/Winamp/Skins/BLIZZARD.wsz /mnt/disko/soft/Winamp/WinAmp2/Skins/Skins (abstract)/BLIZZARD.wsz 282726 bytes each: /mnt/disko/soft/Winamp/Skins/vistamp_v_2.wsz /mnt/disko/soft/Winamp/Skins/C - Vistamp.wsz 99905 bytes each: /mnt/disko/soft/Winamp/Skins/RADIO FM4.wsz /mnt/disko/soft/Winamp/WinAmp2/Skins/Skins (abstract)/RADIO FM4.wsz 102062 bytes each: /mnt/disko/soft/Winamp/Skins/SONY.zip /mnt/disko/soft/Winamp/WinAmp2/Skins/Skins (abstract)/SONY.zip 36759 bytes each: /mnt/disko/soft/Winamp/Skins/FoolAmp.wsz /mnt/disko/soft/Winamp/WinAmp2/Skins/Skins/FoolAmp.wsz
Si se espera una salida muy grande es recomendable redireccionar la salida estándar a un archivo, para luego examinar más cómodamente:
# fdupes -S -r /mnt/disko/ > duplicados.txt
El proceso de búsqueda es muy rápido, ya que fdupes
sólo hace una comparación byte por byte para los archivos cuyos hashes coinciden.
¡Espero que les sirva!