Datei-Doubletten mit Dupeguru finden

Aus LinuxUser 12/2011

Datei-Doubletten mit Dupeguru finden

© Djayo, sxc.hu

Genau hingeschaut

Drei Dateien mit gleichem Namen, vier Files mit gleichem Inhalt – das verwirrt und kostet Zeit und Nerven. Mit Dupeguru entsorgen Sie überflüssigen Ballast.

Doublettenfinder helfen, inhaltlich oder namentlich identische Dateien zu finden, die ihrer Natur nach wertvollen Platz verschwenden. Nicht immer steht uferlos viel Festplattenkapazität bereit, etwa bei Online-Festplatten, SD-Karten oder USB-Sticks, und insbesondere bei Musikdateien spielt auch heute noch jedes MByte eine Rolle. Doubletten in MP3-Playlisten, Webgalerien oder virtuellen Fotoalben bedeuten immerhin Mehrarbeit für Mediaplayer oder Bildverwaltung.

Dupeguru ist ein so genannter Doublettenfinder: Es sucht auf dem Rechner nach duplizierten Dateien und scannt dazu Dateinamen und Inhalte. Da der Scan einen unscharfen Matching-Algorithmus verwendet, findet das Tool selbst dann identische Dateien, wenn die Dateinamen nicht exakt übereinstimmen.

Installation

Dupeguru [1] steht als Python-Programm gleichermaßen für Linux, Mac OS X und Windows bereit. Aktuell ist die Version 3.2.1. Allerdings bietet der Hersteller für Linux ausschließlich DEB-Pakete für 32- und 64-Bit-Systeme an. Damit gelingt die Installation etwa über Ubuntus Software-Center im Handumdrehen.

Die Software setzt jedoch voraus, dass auf dem entsprechenden Rechner Python in einer Version ab 3.2 installiert ist. Das steht aber in den Repositories erst ab Ubuntu 11.04 “Natty Narwhal” im Paket python3 bereit. In Debian findet sich eine passende Version in Testing aka “Wheezy”.

Selbstverständlich spricht nichts dagegen, das DEB-Paket bei jeder anderen auf Debian basierenden Distribution mit Synaptic oder via Kommandozeile zu installieren. Dupeguru starten Sie anschließend mit folgendem Befehl:

$ /usr/local/bin/dupuguru_se

Alternativ navigieren Sie mit Nautilus zum angegeben symbolischen Link und startet das mit /usr/local/share/dupeGuru_se/run.py verknüpfte Python-Skript per Doppelklick. Dabei gilt es lediglich im Nautilus-Kontextmenü die Option im Terminal ausführen zu aktivieren. Nach einer korrekten Installation über Ubuntus Software-Center oder mit Synaptic steht allerdings ein Dupeguru-Eintrag unter Anwendungen | Zubehör bereit.

Suchen und Finden

Das Programm zeigt beim Start einen Dialog, der auf den Fairware-Charakter der Software hinweist. Über Fortfahren gelangen Sie zur eigentlichen Oberfläche, während die Schaltflächen Mehr Infos, Registrieren und Spenden zur Fairware-Seite [2] des Herstellers Hardcoded Software führen, die Informationen zum Fairware-Gedanken liefert (siehe Kasten “Aussicht auf faire Bezahlung”).

Aussicht auf faire Bezahlung

Dupeguru steht kostenlos zur Verfügung. Da es sich um ein Python-Programm handelt, haben Sie auch Einblick in die Quellen. Dupeguru darf also als Open-Source-Software gelten, konkret kommt die BSD-Lizenz zum Einsatz. Im Gegensatz zur Open-Source-Definition hat der Autor von Dupeguru für sich den Begriff Fairware (in Anlehnung an Free- und Shareware) kreiert und macht damit unter anderem auch nachvollziehbare Aussagen zu seiner Motivation: Die legt nämlich darin, Geld für seine Arbeit zu verdienen.

Dies mag indirekt bei vielen Open-Source-Entwicklern so sein, selbst wenn kommerzielle Aspekte bei freier Software nicht immer im Vordergrund stehen. Dupeguru weist aber bei jedem Programmstart im Rahmen des Fairware-Konzeptes deutlich darauf hin, dass der Autor Zeit und Ressourcen in die Software investiert hat und sich daher eine faire Bezahlung auf freiwilliger Basis wünscht. Autoren von freier Software gehen in der Regel in manchen Fällen einen ähnlichen Weg, setzen jedoch meist weniger auf den direkten Vertrieb der Software als vielmehr auf die Arbeit an einem kommerziellen Ableger eines Programms oder auf Dienstleistungen rund um das Projekt.

Was das Fairware-Konzept von Hardcoded Software sympathisch macht, ist die einzigartige Weise, wie der Entwickler seinen bisher geleisteten Aufwand unter auf der Website penibel protokolliert und sogenannte unbezahlte Stunden im grafischen Verlauf darstellt. Eng verknüpft mit diesem Mitführen des Aufwands ist die zugehörige Spenden-Seite [5]: Hier sehen Sie, wieviel Geld die Software bisher eingespielt hat und wie das Aufkommen der Spenden sortiert nach Ländern aussieht.

Wenn Sie spenden möchten, gelangen Sie aus dem Dialog beim Programmstart über die Schaltfläche Spenden oder wahlweise direkt über die Website [6] zu einem entsprechenden Formular. Nach der Spende, die derzeit einen Paypal-Account oder eine Kreditkarte voraus setzt, erhalten Sie eine Lizenznummer, mit der Sie das Popup beim Programmstart unterbinden. Gibt es keine unbezahlten Stunden mehr, verschwindet der Fairware-Dialog ebenfalls.

Die Oberfläche ist einfach gehalten und wirft kaum Fragen hinsichtlich des Bedienkonzepts auf. Mit einem Klick auf das Plus-Symbol fügen Sie ein beliebiges zu scannendes Verzeichnis hinzu, das Dupeguru dann mit einem Klick auf Scan nach doppelten Einträgen durchforstet.

Einzelne Ordner lassen sich vom Scan auszuschließen. Dazu markieren Sie im entfalteten Verzeichnisbaum das entsprechende Unterverzeichnis und klicken dann auf das Minus-Symbol. Das Verzeichnis erscheint dann in Rot (Abbildung 2).

Abbildung 2: Bei Bedarf schließen Sie einzelne Unterverzeichnisse vom Scan aus.

Abbildung 2: Bei Bedarf schließen Sie einzelne Unterverzeichnisse vom Scan aus.

Die Einstellungen prüfen oder ändern Sie übrigens im Dialog Ansicht | Einstellungen. In der Voreinstellung ignoriert Dupeguru beispielsweise Dateien, die kleiner als 10 KByte sind. Außerdem variieren Sie an dieser Stelle bei Bedarf die Empfindlichkeit der Filter oder stellen die GUI auf die deutsche Lokalisierung um (Abbildung 3).

Abbildung 3: Die Einstellungen bieten unter anderem die Möglichkeit, die Oberfläche der Software einzudeutschen.

Abbildung 3: Die Einstellungen bieten unter anderem die Möglichkeit, die Oberfläche der Software einzudeutschen.

Dupeguru berücksichtigt auf Wunsch die gemischte Schreibweise eines Dateinamens oder ignoriert Hardlinks. Da der Vergleich des Inhalts je nach Größe des zu scannenden Verzeichnisses durchaus Zeit in Anspruch nimmt, lohnt es sich, in einem ersten Schritt in den Einstellungen den Scan nur auf Dateinamen zu beschränken. Dazu wechseln Sie im Listenfeld Scantyp von Inhalt auf Dateiname (Abbildung 4). Außerdem gibt es hier noch eine dritte Option Ordner.

Abbildung 4: Die Dauer eines Durchlaufs hängt primär von der Größe des zu scannenden Verzeichnisses, aber auch vom gewählten Typ des Scans ab.

Abbildung 4: Die Dauer eines Durchlaufs hängt primär von der Größe des zu scannenden Verzeichnisses, aber auch vom gewählten Typ des Scans ab.

Algorithmus

Mit Dateiname vergleicht Dupeguru jeden Dateinamen Wort für Wort und stellt – in Abhängigkeit der Einstellungen im gleichnamigen Dialog – die Identität fest, wenn ausreichend Wörter übereinstimmen. Strenger arbeitet die Option Inhalt, bei der das Programm zwei Dateien nur dann als identisch einstuft, wenn deren Inhalt exakt übereinstimmt.

Anders arbeitet der Modus Ordner, mit deren Hilfe die Applikation nach identischen Ordnern sucht. Zum Feststellen der Übereinstimmung zweier Ordner scannt Dupeguru sämtliche Dateien im jeweiligen Ordner und stuft zwei Verzeichnisse nur dann als identisch ein, wenn die Inhalte sämtlicher Dateien in beiden Ordnern exakt übereinstimmen.

Mit dem Regler Filter Empfindlichkeit legen Sie fest, bis zu welchem Grad Dupeguru etwa Abweichungen beim Dateinamen zulässt und diesen trotzdem noch als gleich einstuft. Beim Vergleich der Dateinamen zählt das Programm die Gesamtzahl der Wörter beider Dateinamen, danach die absolute Anzahl gleicher Wörter – jedes gleiche Wort zählt doppelt – und teilt diesen Wert durch die Gesamtzahl der Wörter. Bei einem Ergebnis größer oder gleich des Schwellwerts weist die Software die Datei als Duplikat aus.

Allerdings gibt es in den Einstellungen noch die Option Wortgewichtung. Aktivieren Sie diese, so ändert Dupeguru den Algorithmus zum Bewerten der identischen Wörter im Modus Dateimame zum Beispiel dahingehend, dass beim Addieren der gleichen Wörter nicht mehr jedes mit dem Wert 1, sondern mit der Gesamtzahl seiner Buchstaben ins Gewicht fällt.

Mit exemplarischen Werten durchgespielt, ergibt sich bei diesem Algorithmus ein geringfügig anderer Wert für die Übereinstimmung. Die Option ist allerdings mit Vorsicht zu genießen, weil sie ein hohes Fehlerpotenzial birgt. Weitere Informationen zur Wirkungsweise der einzelnen Parameter finden sich auf der Dupeguru-Website [3].

Aktionismus

Die Liste mit den Treffern dient gleichzeitig als Ausgangsbasis für weitere Aktionen. Das Fenster zeigt die gefundenen Doubletten in Form einer übersichtlichen Liste, nebst Größe, Speicherort und Höhe der prozentualen Übereinstimmung zwischen den gefundenen Dateien.

Sie haben jetzt die Möglichkeit, Treffer zu markieren und weiter zu bearbeiten. So bietet die Software die Möglichkeit, die gefundenen Dateien zu löschen, zu kopieren, zu verschieben, durch Hardlinks zu ersetzen oder die Datei mit dem passenden Programm zu öffnen (Abbildung 5).

Abbildung 5: Nach dem Scan-Vorgang stehen eine Reihe von Aktionen zur Auswahl, um die Doubletten zu bearbeiten.

Abbildung 5: Nach dem Scan-Vorgang stehen eine Reihe von Aktionen zur Auswahl, um die Doubletten zu bearbeiten.

Hardlinks erhalten die Verzeichnisstruktur, ermöglichen es aber, den Speicherplatz des Duplikats freizugeben. Außerdem bietet die Applikation die Möglichkeit, das Ergebnis mit Hilfe von Aktionen | Filter anwenden mittels regulärer Ausdrücke zu filtern (Abbildung 6).

Abbildung 6: Dupeguru kennt auch reguläre Ausdrücke.

Abbildung 6: Dupeguru kennt auch reguläre Ausdrücke.

Zusätzlich eröffnet das Ergebnisfenster im Menü Aktionen | Eigenen Befehl ausführen die Möglichkeit, jederzeit eine externe Anwendung aufzurufen, etwa ein Diff-Tool. Das Format des hier anzugebenden Befehl ist das Gleiche wie bei der Kommandozeile, allerdings gibt es die zwei Platzhalter %d (Pfad des markierten Duplikats) und %r (Pfad der Referenz). Allerdings empfiehlt es sich, den Pfadnamen und die Platzhalter in Anführungszeichen zu setzen, um Problemen mit eventuellen Leerzeichen in den Namen zu umgehen.

Bei Bedarf sichern Sie die Liste über Datei | Speichere Ergebnisse zwecks einer späterer Einsicht im Dupeguru-eigenen Format oder exportieren sie mittels Datei | Exportiere als HTML als Webseite.

Weitere Editionen

Neben der Standardversion von Dupeguru bietet der Hersteller Hardcoded Software noch zwei spezielle Varianten des Programms zur Suche in Bild- oder Musikdateien an.

Die Music Edition findet Doubletten in der Musiksammlung und scannt dazu wie die klassische Variante Dateinamen und Inhalt, aber auch Tags. Konzept und Bedienung gleichen weitgehend jener der Standard-Version. Allerdings kann die Musik-Edition den Algorithmus auch auf Tags anwenden. Die Music Edition unterstützt die Audio-Formate MP3, WMA, AAC (iTunes), OGG und FLAC.

Die Dupeguru Picture Edition findet doppelte Bilder und Fotos und unterstützt die Dateiformate JPG, PNG, TIFF, GIF, BMP und PSD.

Fazit

Es gibt unzählige Tools zur Doubletten-Suche unter Linux, Mac OS X und Windows; Linux bietet darüber hinaus einen gut gefüllten Werkzeugkasten an Bordmitteln. Dupeguru hat Charme, weil es sich mit seiner gefälligen Oberfläche auch für Anwender eignet, die nur über wenig Erfahrung verfügen. Dass es für alle drei relevanten Plattformen bereit steht, erleichtert, einmal gewonnenes Know-how mitzunehmen. Außerdem bleibt Dupeguru kostenfrei und gefällt durch das Fairware-Konzept. 

Infos

[1] Download: http://www.hardcoded.net/dupeguru/

[2] Fairware: http://open.hardcoded.net

[3] Optionen: http://www.hardcoded.net/dupeguru/help/de/preferences.html

[4] Musicguru: Vincze-Aron Szabo, “Strikte Ordnung”, LU 06/2011, S. 52, https://www.linux-community.de/22591

[5] Statistik zu den Spenden: http://open.hardcoded.net/contribs/

[6] Spenden: http://open.hardcoded.net/contribute/

LinuxUser 12/2011 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben