ubuntuusers.de

Tracker

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Tracker 🇬🇧 ist ein im Hintergrund laufender Dienst des GNOME-Desktops für die Desktopsuche. Er durchsucht Dateien mit Bildern, Videos, Musik und Textdateien, Dokumente, Quellcode usw. im Homeverzeichnis des jeweiligen Benutzers und speichert die indizierten Metadaten der Dateien in einer Datenbank. Es gibt für jeden Benutzer in seinem Homeverzeichnis eine eigene Datenbank. Beim Sammeln und Speichern der Daten folgt Tracker der NEPOMUK 🇬🇧 Spezifikation.

Auf die von Tracker indizierten Daten greift z.B. die GNOME Shell und auch Nautilus zurück, wenn man in deren Suchleiste einen Suchbegriff eingibt.

Tracker ist bis einschließlich 21.04 in der Version 2.x in den Paketquellen, ab 21.10 kommt Version 3 zum Einsatz.

Installation

Das Programm ist in der Standardinstallation von Ubuntu enthalten und wird auch automatisch mit installiert, wenn man bei einem Ubuntu-Derivat den Dateimanager Nautilus nachinstalliert:

  • tracker

Befehl zum Installieren der Pakete:

sudo apt-get install tracker 

Oder mit apturl installieren, Link: apt://tracker

Technik

Aus technischer Sicht besteht Tracker aus mehreren Komponenten. Der "Miner" namens tracker-miner-fs überwacht das Dateisystem auf neue Dateien. Bei neuen oder geänderten Dateien werden die Metadaten von tracker-extractor extrahiert und dann von tracker-store in eine SQLite Datenbank geschrieben. Diese ist unter /home/BENUTZER/.cache/Tracker/meta.db zu finden. Die Abfrage der Datenbank erfolgt über SPARQL. Das Journal und die Logs von Tracker liegen unter /home/BENUTZER/.local/share/tracker/data.

Das ganze läuft für den Nutzer völlig transparent im Hintergrund. Tracker (bzw. dessen Komponenten) werden über systemd User Units gestartet. Zwar gibt es auch .desktop-Dateien (zu finden unter /etc/xdg/autostart) gestartet, die vor GNOME 3.34 für den Start zuständig waren. Die .desktop-Dateien enthalten aber die Direktive X-GNOME-HiddenUnderSystemd=true, d.h. sie überlassen systemd die Kontrolle.

Benutzung

Normalerweise gibt es keine Notwendigkeit, mit Tracker zu interagieren, das alles transparent im Hintergrund läuft. Möglich ist dies aber im Terminal[2]. Die allgemeine Syntax für die Befehle lautet

tracker BEFEHL [OPTION(EN)] [DATEI(EN)] 

Eine Übersicht der Befehle bekommt man über

tracker --help 

Hilfe zu jedem Befehl erhält man über

tracker BEFEHL --help 

Außerdem gibt es zu jedem Befehl eine recht umfangreiche Manpage. Beispiel für tracker daemon: der erste Befehl gibt eine Übersicht über die Optionen des Tracker Daemons, der zweite ruft die zugehörige Manpage auf:

tracker daemon --help   
man tracker-daemon 

Zum Aufruf der zugehörigen Manpage muss also ein Minuszeichen - zwischen das Wort tracker und den Befehl gesetzt werden.

Im folgenden einige Beispiel für die Interaktion mit Tracker:

Der Befehl

tracker daemon -p 

liste alle Prozesse auf, die von Tracker laufen.

Wer Tracker bei der Arbeit zusehen möchte, kann die Optionen -f oder -w nutzen. Mit

tracker daemon -f 

kann man im Terminal verfolgen, was Tracker gerade macht (z.B. Leerlauf, Dateien durchsuchen, Daten speichern), mit

tracker daemon -w 

wird im Terminal ausgeben, was Tracker in die Datenbank schreibt. Beide Befehl muss man mit Strg + C beenden.

Möchte die Informationen zu einer Datei in der Datenbank sehen, nutzt man den Befehl

tracker info /PFAD/ZUR/DATEI/DATEINAME 

Es gibt auch die Möglichkeit, die Datenbank nach Begriffen zu durchsuchen. Dazu dient der Befehl

tracker search SUCHBEGRIFF 

Als Ergebnis erhält man eine Liste der ersten 10 Suchtreffer. Es werden alle Dateien gezeigt, wo SUCHBEGRIFF im Dateinamen, in den Metadaten der Datei oder im Inhalt vorkommt. Möchte man mehr als 10 Treffer haben, nutzt man die Option -l ANZAHL_TREFFER.

Möchte man die bestehende Datenbank komplett löschen, geschieht diese mit dem Befehl

tracker reset -r 

Danach sollte man die Datenbank mit Hilfe des Befehls

tracker daemon -s 

neu befüllen lassen.

Konfiguration

Tracker wird komplett über dconf konfiguriert. Normalerweise besteht keine Notwendigkeit, eine der Voreinstellungen von Ubuntu zu ändern. Die Einstellungen kann man sich über den Befehl

gsettings list-recursively | grep -i org.freedesktop.Tracker | sort | uniq 

ausgeben lassen.

bestimmte Dateitypen ausschließen

Eine Reihe von eigentlich indizierbaren Dateien ist in der Standardkonfiguration von Tracker bereits ausgeschlossen. Die Liste erhält man mit dem folgenden Befehl:

gsettings get org.freedesktop.Tracker.Miner.Files ignored-files 

Möchte man die Liste ergänzen, fügt man z.B. mit Hilfe des dconf-editors den gewünschten Dateityp hinzu. Das Schema ist üblicherweise *.DATEIENDUNG, also z.B. *.epub für E-Books im Epub-Format.

Verzeichnisse ausschließen

Man kann gezielt Verzeichnisse von der Überwachung und Indizierung durch Tracker ausschließen, ohne die Konfiguration von Tracker zu ändern. Dazu legt man einfach in dem Verzeichnis eine leere Datei Namens .trackerignore an. Sind in diesem Verzeichnis Dateien enthalten die vorher bereits von Tracker indiziert wurden, bleiben die Einträge in der Datenbank bestehen.

Die Verzeichnisse .git und .hg, in denen die Versionskontrollsystem Git bzw. Mercurial ihr Daten speichern, werden von Tracker ebenfalls automatisch ignoriert.

Journalgröße reduzieren

Tracker schreibt, wie oben erwähnt, ein Journal. Die maximale Größe ist auf 50 MB beschränkt. Wem das zu viel ist, kann unter dem Schlüssel org.freedesktop.Tracker.DB journal-chunk-size einen kleineren Wert vorgaben. Der Wert wird in MB angegeben.

Tracker deaktiviern

Wer Tracker gar nicht nutzt möchte, kann die entsprechenden systemd Units komplett deaktivieren. Da die Units als User Units laufen, muss man dies für jeden Nutzer, der Tracker nicht nutzen will, einzeln machen.

Dazu stoppt man zuerst die entsprechenden Units

systemctl stop --user tracker-extract.service
systemctl stop --user tracker-miner-fs.service
systemctl stop --user tracker-store.service
systemctl stop --user tracker-writeback.service 

und maskiert diese

systemctl mask --user tracker-extract.service
systemctl mask --user tracker-miner-fs.service
systemctl mask --user tracker-store.service
systemctl mask --user tracker-writeback.service 

Nach einem Neustart des Systems ist Tracker für den Nutzer, unter dem die Befehle ausgeführt wurden, deaktiviert. Überprüfen kann man dies über

tracker daemon status 

was eine Ausgabe wie die folgende geben sollte:

Speichern:
03 Jan 2022, 20:52:15:  ✗     Store                      - Nicht verfügbar

Indizierer:
03 Jan 2022, 20:52:15:  ✗     Dateisystem                - Läuft nicht oder Plugin ist deaktiviert
03 Jan 2022, 20:52:15:  ✗     Entdecker                  - Läuft nicht oder Plugin ist deaktiviert

Zum Reaktivieren einfach die vier Units über systemctl unmask --user NAME_DER_UNIT wieder reaktivieren.

Problembehebung

Übermäßiger Speicherverbrauch

Hat man sehr viele und / oder sehr große indizierbare Dateien (z.B. eine große Sammlung Ebooks im Epub-Format, kann die Tracker Datenbank sowie das Backup sehr viel Platz in Anspruch nehmen und damit die /home Partition voll läuft.

Abhilfe kann man schaffen, in dem man entweder dieses Verzeichnis von der Indizierung ausschließt oder, sofern der Speicherverbrauch nur durch einen Dateityp verursacht wird, diesen Dateityp ausschließen.

intern

extern

Diese Revision wurde am 28. Januar 2022 18:10 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Desktopsuche, GNOME