Buscar y eliminar archivos duplicados del sistema con rmlint

rmlintSi la entropía se ha adueñado del disco duro de tu ordenador y el desorden crece de manera exponencial ocupando millones de preciosos bytes, es posible que te interese contar con un programa que te ayude a localizar y eliminar rápidamente eses archivos duplicados o vacíos que tienes en tu sistema.

rmlint es un herramienta para la linea de comandos que recientemente ha sido reescrita utilizando el lenguaje de programación C y que es capaz de realizar todo eso a una velocidad asombrosa.

No solo estamos hablando de eliminar directorios y archivos duplicados, rmlint también es capaz de filtrarlos por nombre, extensión del archivo o fecha de modificación.

Entre sus características avanzadas está la búsqueda de enlaces rotos, binarios con símbolos de depuración, archivos con atributos de propiedad rotos (usuario/grupo) e incluso un modo paranoico para los que no confían en la sumas de verificación a la hora de determinar la integridad de un archivo.

Una vez instalado la manera más sencilla de probarlo, es situarnos con la terminal en el directorio del sistema que queremos examinar y ejecutar:

rmlint

Se puede ejecutar también con el parámetro -g, que nos muestra una barra con el progreso de la aplicación (en directorios pequeños ni merece la pena porque repito que el programa es rapidísimo)

Hay que decir que el comando anterior no borra nada, simplemente localiza eses archivos que están duplicados o rotos en el sistema y nos crea dos archivos uno con extensión .json que nos da la salida completa del comando y otro con extensión .sh (un script de shell) con el que podemos eliminar esas duplicidades ejecutando:

./rmlint.sh

y confirmando el borrado tecleando cualquier cadena de texto (lógicamente si hay algún archivo que no deseamos borrar podemos editar previamente ese script y hacer los cambios necesarios)

rmlint2Una lista completa de opciones la podéis ver en el manual

man rmlint

o en la ayuda del programa

rmlint --help
Instalación

Ahora lo que vamos a ver, es como instalarlo en alguna que otra distribución GNU/Linux:

  • En openSUSE como siempre tenemos a nuestra disposición el servicio de 1 Click Install para esos programas que no suelen venir en los repositorios oficiales, tan solo tenemos que seleccionar el que corresponda a nuestra versión.
  • Los usuarios de Fedora también encontraran paquetes en el servicio de busqueda de sofware de openSUSE. Pero además tienen la opción de instalarlo ejecutando:
su -c

dnf copr enable sahib/rmlint
dnf install rmlint
  • En Arch Linux y derivadas como Manjaro, Antergos o ArchBang está disponible mediante los repositorios comunitarios de AUR
yaourt -S rmlint-git
  • Resto de distribuciones pueden seguir las instrucciones de compilación que el autor proporciona en GitHub

7 thoughts on “Buscar y eliminar archivos duplicados del sistema con rmlint”

  1. carlosky77 says:

    Al bookmarks. Faltaba un comando así. Debo tener llenos de archivos duplicados por respaldo (y que ahora no son necesarios).

    1. tannhausser says:

      Yo tengo toneladas…ahora me da pereza ponerme a repasar cuales me puedo cargar xD

  2. xpt says:

    Buen aporte! 🙂

    1. tannhausser says:

      Gracias colega!

  3. davidochobits says:

    En CentOS no he conseguido que funcione, ni siquiera compilando desde las fuentes, seguiré investigando, tiene muy buena pinta!
    Saludos!

  4. dmacias says:

    Me ha servido de mucho, yo tambien tengo toneladas de archivos duplicados y creo que no tendré paciencia para revisarlos muy detenidamente xDD

  5. Swicher says:

    En Gentoo primero hay que instalar un overlay para tener el programa:
    sudo layman -a jxh
    sudo emerge -av rmlint

    De ser necesario, también hay que editar el archivo /etc/portage/package.keywords y agregar lo siguiente:
    # Cambiar ~x86 por ~amd64 en sistemas de 64 bits
    app-misc/rmlint ~x86

Deja un comentario