Die Dateisuche in Linux-Dateimanagern genügt für gelegentliche Suchläufe, für häufige Suche in großen Archiven ist sie zu langsam. Das Python-Script Angry Search kann hier aushelfen. Dieser Beitrag bespricht Anspruch und Realität des Tools.
Angry Search hat die erklärte Absicht, das Vorbild Everything unter Windows zu kopieren. Das ist ein ziemlich hoher Anspruch, denn die Freeware Everything gilt Windows-Kennern seit vielen Jahren als Muss: ein stupend schnelles Suchtool mit Suchoperatoren und Serverkomponente, das Millionen Dateien in Millisekunden filtert. Angry Search leistet eine vergleichbar schnelle Instantsuche beim Tippen der Suchbegriffe, bedarf aber mehr Pflege als sein Windows-Vorbild.
Beachten Sie, dass Angry Search ein reines Dateiwerkzeug ist, das nach Pfaden und Namen sucht, nicht nach Dateiinhalten. Das entspricht seinem Vorbild, das zwar neuerdings optional auch Dateiinhalte durchsuchen kann, dabei aber seinen Leistungsfokus aus den Augen verliert.
Download und Einrichtung
Angry Search ist ein Python-Script (mit drei weiteren Python-Hilfs-Scripts) und somit unter Linux überall lauffähig, da ein Python-Interpreter zum Linux-Standard gehört. Unter findet sich der Download als „zip“- oder „tar.gz“-Archiv, das Sie nach dem Download zunächst an beliebiger Stelle entpacken. Im Terminal suchen Sie dann den entpackten Ordner auf, schalten das kleine Install-Shell-Script mit
chmod +x install.sh
ausführbar und starten dieses dann mit diesem Befehl:
sudo sh install.sh
Das war‘s schon: Das Script kopiert lediglich einige Python-Scripts nach „/usr/share/angrysearch“ und legt den Link unter „/usr/bin/angrysearch.py“ an. Daher ist spätere eine Deinstallation mit dem manuellen Löschen dieser Dateien erledigt.
Nach der Einrichtung ist Angry Search als „ANGRYsearch“ im Hauptmenü oder im Gnome-Dash erreichbar, aber auch im Terminal über den Befehl angrysearch. Downloadarchiv und der entpackte Ordner können danach im Prinzip gelöscht werden. Neben dem benötigten Python-Interpreter hat das Tool nur zwei abhängige Pakete: Das Paket „xdg-utils“ ist auf praktisch jeder Desktopdistribution anzutreffen, das Paket „python3-pyqt5“ meistens auch. Sollte nach der Einrichtung der Aufruf scheitern, wiederholen Sie den Start im Terminal mit dem Befehl angrysearch, um die Ursache herauszufinden. Unter Ubuntu Gnome erhielten wir etwa die Meldung:
"No module named 'PyQt5'"
In diesem Fall fehlt das genannte Paket „python3-pyqt5“, das Sie mit
sudo apt install python3-pyqt5
schnell nachinstalliert haben.
Suchoptionen und Konfiguration
Beim ersten Aufruf erhalten Sie Infos über die Konfigurationsdateien und die fundamentale Nutzung. Diese Startinfo lässt sich jederzeit wiederholen, indem der Dateiindex gelöscht oder der Suchmodus geändert wird. Konfiguration und Index liegen unter „~/.config/angrysearch/angrysearch.conf“ und „~/.cache/angrysearch/angry_database.db“. Den Index erstellen Sie im Tool mit der Schaltfläche „update“. Dabei berücksichtigt Angry Search standardmäßig das komplette Dateisystem.
Die Indexierung erfolgt auf lokalen Datenträgern extrem schnell, bei eingehängten Netzwerkressourcen kann der Vorgang zwei, drei Minuten dauern.
Wenn Sie Pfade ausschließen wollen, tragen Sie diese in die „angrysearch.conf“ nach
directories_excluded=
ein – und zwar mit Leerzeichen getrennt (etwa „directories_excluded=/bin /var /etc“). Umgekehrt müssen Sie dafür sorgen, dass der Index tatsächlich alle Ressourcen erfasst, die Sie durchsuchen möchten. Diese müssen also vor dem Klick auf „update“ ordnungsgemäß gemountet sein.
Anders als beim Vorbild Everything ist der Index statisch, muss also von Zeit zu Zeit erneuert werden. Der Entwickler empfiehlt einen Cronjob, wobei einfach das Hilfstool angrysearch_update_database.py alle sechs Stunden gestartet wird. Der Eintrag (nach crontab -e) sieht dann wie folgt aus:
0 */6 * * * /usr/share/angrysearch/angrysearch_update_database.py
Im Prinzip reicht aber auch im grafischen Tool ein gelegentlicher Klick auf „update“, bevor Sie eine Kaffeepause machen.
Standardmäßig gilt eine einfache UND-Syntax, wobei Angry Search praktisch ohne Verzögerung auf Tippeingaben reagiert: Auf „büro steuer“ wird das Tool vom ersten Buchstaben an das Datenmaterial sofort auf passende Dokumente filtern. Teilstrings von Wörtern berücksichtigt das Script nur, wenn Sie das Häkchen rechts vom Suchfeld abschalten. Das Häkchen steht für den schnellsten Modus und ist der Standard, würde aber bei der Eingabe „büro teuer“ keine Dateien zu „Steuer“ finden.
Angry Search hat nach unserer Kenntnis keine darüber hinausgehenden Möglichkeiten mit „NOT“- oder „OR“-Operatoren – so jedenfalls mit dem Standardsuchfeld. Wer höhere Ansprüche hat, muss auf die komplexen Regular Expressions ausweichen, die das Tool mit der Taste F8 anbietet: Nach F8 erhält das Suchfeld eine Orange-Färbung und akzeptiert Regex-Syntax, etwa eine OR-Suche mit „händel|haendel“ oder etwas komplexer:
(händel|haendel).*trio
Angry Search ist auch im Regex-Modus richtig schnell, jedoch haben vermutlich nur wenige Anwender die Kompetenz, aus dem Handgelenk korrekte Regex-Abfragen zu tippen.
Die im Fenster angezeigten Suchergebnisse können Sie einfach per Doppelklick mit dem zugeordneten Standardprogramm laden. Außerdem gibt es nach Rechtsklick die Option „Open Path“, um das Verzeichnis der gewählten Datei im Dateimanager anzuzeigen. Je nach Distribution kann es hier eventuell Korrekturbedarf geben: Beim von uns zufällig genutzten Linux Mint Mate verabschiedete sich Angry Search regelmäßig kommentarlos, wenn für ein Suchergebnis „Open Path“ gewählt wurde. Ursache war, dass das Paket„xdg-utils“ den Dateimanager Nemo an Angry Search meldet, der Dateimanager in dieser Mint-Variante aber „Caja“ heisst. Dies lässt sich in der Konfigurationsdatei „angrysearch.conf“ mit
file_manager=caja
leicht korrigieren, sofern man die Ursache erkannt hat.
Fazit: Empfehlenswerte Systemergänzung
Wer eine Menge Dateien an Bord hat und eine halbwegs systematische Namensgebung für Ordner und Dateien, sollte sich Angry Search einrichten. Das Tool ist ein phänomenaler Zeitsparer. Ein Beispiel: Die Suche mit dem Dateimanager nach der UND-Verknüpfung „metallica reed“ dauerte mehr als eine Minute, bis sie die Lulu-Suite dieser Band ans Licht beförderte. Etwa doppelt so schnell arbeitet ein find-Befehl im Terminal – mit allen Nachteilen der mühsamen Eingabe und Weiterverarbeitung der Suchergebnisse. Angry Search? Das Tool zeigt die Resultate sofort – noch während des Eintippens. Dabei sollten die Standardeinstellungen im Alltag die besten Ergebnisse liefern, für eine Berücksichtigung von Teilstrings genügt es, das Häkchen neben dem Suchfeld zu deaktivieren. Die optionale Regex-Suche dürfte hingegen die meisten Anwender überfordern. Etwas Erfahrung sollte der Suchtool-Nutzer aber in jedem Fall mitbringen, damit die indexierten Orte stets ordnungsgemäß eingehängt sind, der Index aktuell bleibt (Crontab) und eventuelle Korrekturen in der Konfigurationsdatei keine Hürde darstellen.
Ob der Entwickler den Vergleich zu Everything suchen sollte, bleibt aber fraglich: Das Windows-Tool aktualisiert dynamisch, bietet erweiterte Suchoperatoren und sogar eine Client-Server-Komponente für die Suche übers Netzwerk.
C21N1414 akkus für ASUS EeeBook X205T X205TA X205TA-BING-FD015B 11.6″
88796 akkus für Bose Soundlink Mini 2 Pack
45N1741 akkus für Lenovo ThinkPad T550 T550s W550 W550s
45N1741 45N1742 45N1743 akkus für ThinkPad T550 T550s W550 W550s
404600 akkus für Bose SOUNDLINK I II III
GNS-I60 akkus für Gigabyte P35N P35W P35X P37K P37X P57X P35G P57W
KP.13501.005 Acer Aspire V15 Nitro VN7-592G-77LB VN7-592G-788W Netzteile/Adapters