Duplikate finden unter Linux mit rmlint

Ihr kennt sicher das Problem, wenn man unzählige Bilder gemacht hat und diese irgendwo hin gespeichert hat. Hab ich früher auch so gemacht, daher habe ich nun gigabyteweise Duplikate rumliegen, weil ich für verschiedene Aufgaben immer eine neue Kopie angelegt habe. Diese stören mich inzwischen recht arg. Also hab ich Ausschau nach Scripten und gar Software gehalten, die mir diese Duplikate aufspürt, ohne dass ich hinterher noch viel Hin und Her kopieren muss. Am einfachsten geht das aus meiner Sicht mit rmlint, welches von Chris Pahl und Daniel Thomas entwickelt wird. Bekommen könnt ihr rmlint über die Paketverwaltung (für Arch-Linux im AUR) eurer Distribution oder direkt bei github.com/sahib/rmlint.

Ausgeführt wird es am einfachsten per rmlint in der Kommandozeile. Dabei berücksichtigt rmlint lediglich, dass es das erste angegebene Verzeichnis behalten soll und die ältesten Dateien. In Hinsicht auf falsche Zeitangaben der Dateien oder mögliche Dopplung durch gleiche Größe, etc. bietet es sich an weitere Parameter an rmlint anzuhängen. Ich habe einige Parameter probiert. Meine am meisten genutzte Zeile lautet dann  rmlint -pp -w -Spam. Wenn ich zwei Verzeichnisse direkt miteinander vergleichen will, weil ich genau weiß, wo Originaldateien liegen, dann nutze ich  rmlint -pp -w -Spam Duplikatverzeichniss // Originalverzeichnis.

Meine genutzten Parameter machen Folgendes. Und zwar -pp  vergleicht Dateien Byte für Byte. Das ist meiner Meinung nach zwar langsamer als Hashs zu vergleichen, aber eben auch etwas sicherer, dass nicht zufällig zwei unterschiedliche Dateien mit gleichem Hashwert als Dupletten erkannt werden und eine davon gar gelöscht wird.

Der Parameter -w zeigt einfach nur in der Konsole die Ausgabe farbig an, also Originale mit grünem ls  und Duplikate mit rotem rm .

Die Parameterkette -Spam bestimmt die Reihenfolge, in der Entscheidungen getroffen werden. -S  steht dabei für die Sortierkriterien. Ist der Pfad zweier Dateien identisch, was mit p  geprüft wird, wird zum nächsten übergegangen. Ist der Pfad nicht identisch, wird der erste gefundene beziehungsweise angegebene Pfad für das Original gehalten. Die Entscheidung a prüft auf alphabetischer Ebene. Unterscheiden sich zwei Dateien im gleichen Verzeichnis nur durch ein Zeichen im Namen, wird die Datei mit dem ersten alphabetischen Erscheinen als Original gewertet. Der Parameterwert m steht für die Prüfung auf das Dateidatum. So wird die ältere von zwei Dateien als Original angesehen.

Über den Anhang Duplikatverzeichniss // Originalverzeichnis nach den Parametern sage ich rmlint, sofern ich das bereits weiß, welches Verzeichnis Originaldateien enthält. Durch ständiges Arbeitskopien erstellen von einem Original bietet es sich an dieses Feature zu nutzen.

Ich habe also mit rmlint -pp -w -Spam Duplikatverzeichniss // Originalverzeichnis die für mich größtmögliche Trefferquote an Duplikaten von Originaldateien, wobei ich das Originalverzeichnis angeben kann und nach bestimmten Kriterien und letztlich Byte für Byte auf Duplikat geprüft werden kann.

Auf meinem NAS konnte ich nach jahrelanger Datensammelei von ca 920 GB Daten etwa 80 GB an Duplikaten ausmachen und löschen. Am häufigsten betrifft es Bilder, Musik und Videos. Es macht sich also schon bezahlt, wenn man mal so richtig ausmisten kann.

In diesem Sinne viel Spaß beim Aufräumen und Platz schaffen.

Leave a Reply

Your email address will not be published. Required fields are marked *