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!


Tal vez pueda interesarte


Compartí este artículo