GNOME : l'indexation avec Tracker
Posté le 16. Mai 2022 • 6 minutes • 1145 mots • Autres langues: English
À quoi sert Tracker
Tracker est l’outil d’indexation de fichiers de l’environnement de bureau GNOME et par conséquent celui de Nautilus (le gestionnaire de fichiers de GNOME).
Tracker (dans sa version 3) est particulièrement puissant, peu gourmand et extrêmement rapide (surtout sur du matériel récent).
Tracker ne se contente pas de chercher un fichier via un nom et/ou un emplacement, il effectuera la recherche dans les contenus et les métadonnées . Ainsi, vous pourrez retrouver un fichier mp3 avec le nom de l’artiste, un document PDF avec une expression dans un paragraphe ou l’auteur du document… .
Son fonctionnement
Tracker utilise un système d’index et c’est ce qui lui permet une telle instantanéité. Il va lire son index et rechercher dans les métadonnées et contenus les correspondances avec votre recherche. Cet index est mis à jour automatiquement et en temps réel dès qu’un fichier est ajouté ou modifié dans un emplacement indexé. La recherche est donc toujours précise et à jour.
Attention, Tracker n’est pas fait pour indexer des millions de petits fichiers comme ceux d’un code source volumineux. Il reste un outil fait pour un environnement de bureau et les fichiers s’en rapportant. Voici un extrait de la documentation à ce propos 1 :
When you add or edit files, Tracker Miner FS will update its index. This should be very quick, but if a huge number of files are added then it may cause noticably high CPU and IO usage until the new files have been indexed. This is normal. Tracker is not designed to index directories of source code or video game data. If content like this appears in the locations it is configured to index then you might see unwanted high resource usage.
Le cas des TAGS dans Nautilus
Tracker gère les tags, mais les développeurs de Nautilus ont décidé (depuis la v3.26) de ne plus les prendre en charge comme avant et d’utiliser un tag unique : “favoris”. C’est donc par le système de tag de Tracker que vous pouvez mettre des fichiers et dossiers en favoris dans Nautilus. Si vous souhaitez utiliser des tags personnalisés il faudra donc vous tourner vers un autre gestionnaire de fichiers ou des hacks de Nautilus.
Tracker par l’interface graphique
Par l’interface graphique vous n’aurez accès qu’à un seul réglage (le plus important), celui des répertoires à intégrer dans l’index de Tracker. Pour cela, rendez-vous dans les paramètres de GNOME, dans la catégorie Recherche puis en haut vous trouverez Emplacement de la recherche.
Les onglets correspondent juste à des emplacements prédéfinis que vous pouvez indexer ou non :
- onglet Emplacements : regroupe les emplacements par défaut du système
- onglet Signets : regroupe les emplacements que vous avez mis en signet sur Nautilus
- onglet Autre : regroupe les emplacements libres à indexer
Enfin, ça n’a pas grande utilité mais sachez que les emplacements sont également accessibles par le gestionnaire de variables dconf-editor
:
Tracker en ligne de commande
Via votre terminal vous disposerez de bien plus d’options. Je vous mets ici quelques commandes utiles afin de vous faciliter la vie !
tracker3 daemon -w
: permet de voir en temps réel les changements dans la base de données.tracker3 daemon -t
: tue tous les processus (miner) qui sont en cours.tracker3 daemon --list-common-statuses
: liste les statuts possibles pour un miner du tracker.tracker3 reset --filesystem
: réinitialise l’index. Attention, activité CPU pour la reconstruction.gsettings list-recursively |grep -i tracker
: liste des paramètres.tracker3 info /home/r4ven/Documents/test.pdf
: liste toutes les informations indexées sur le fichier test.pdf.tracker3 status /home/r4ven/Documents/test.pdf
: affiche le message d’erreur d’indexation pour le fichier test.pdf (si erreur).tracker3 status
: affiche l’état général de l’index (nb de fichiers indexés…) ainsi que la liste des erreurs d’indexation.journalctl --user --unit=tracker-miner-fs-3.service --unit=tracker-extract-3.service --priority=7
: affiche les erreurs du tracker au niveau du log systemd.
Si vous souhaitez réinitialiser l’index, il se reconstruira automatiquement au bout de quelques secondes. Vous pourrez alors suivre l’activité avec tracker3 daemon -w
:
Dans mon cas, mon index est composé de 18 740 fichiers et 1844 dossiers dont l’indexation (on parle de contenu + metadonnées) prend environ 2 minutes (i7-1185@3.0GHz + 16Go RAM + SSD NVMe) sans aucun ralentissement sur le reste du système.
En effet, écrit en C, tracker3 est trés performant et bien pensé, les processus de tracker3 s’exécutent avec une priorité très basse : nice+19. L’utilisation de la RAM n’a pas dépassé 15Mo (sur 16Go) lors de la réindexation des 18 000 fichiers et est autour de 1 à 2Mo sur une activité normale (hors réindexation complète du système).
Problème de performance
Vous ne devriez avoir aucun problème de performance avec la version 3 de Tracker, toutefois si c’était le cas, pensez à :
- consulter les erreurs :
tracker3 status
- vérifier qu’aucun répertoire de type code source volumineux ne serait dans un dossier à indexer.
- vérifier l’état S.M.A.R.T de votre disque dur/SSD. Un disque défectueux avec des erreurs de lecture/écriture ralentira l’indexation ou créera des erreurs.
- réinitialiser votre index :
tracker3 reset --filesystem
- vérifier les processus.
Pour vous aider dans la vérification des processus, sachez que tracker3 en est composé de plusieurs, ce qui le rend résilient et évite que le démon ne tombe si un processus crash.
Processus principaux de tracker3 :
tracker-store
: S’occupe de la gestions des données, c’est le démon de gestion de la base de données.tracker-miner-fs
: C’est le robot d’exploration du système de fichier qui va extraire les données des fichiers.tracker-extract
: S’occupe de l’extraction des métadonnées de chaque fichier.tracker-writeback
: Permet d’écrire des métadonnées de la base de données dans un fichier (cas spécifique).
Sécurité et données
Vous l’aurez déduit en lisant mon article, tracker3 contient des informations critiques et confidentielles puisqu’il lit et indexe non seulement les métadonnées mais également le contenu de vos documents et fichiers. C’est pourquoi il est recommandé de chiffrer le contenu complet de votre PC et non pas simplement un répertoire. Pensez qu’il est aussi possible d’indexer un répertoire qui serait disponible sur le réseau… . Une fois de plus, le chiffrement de vos PC personnels ou professionnels et toujours indispensable.
- Le stockage de la base de données de tracker3 est ici :
$HOME/.cache/tracker3
- Le log est là :
$HOME/.local/share/tracker/data
Si certaines données sont vraiment trop critiques, pensez à simplement les sortir du répertoire indexé et à réinitaliser votre index 👍
Désactiver Tracker
Il est toujours possible de supprimer tracker3 mais c’est fortement déconseillé par la documentation de GNOME car tracker3 est une dépendance centrale dans GNOME donc vous aurez certainement des effets de bord.
Optez plutôt pour la désindexation des répertoires voire la désactivation de la recherche dans Fichiers dans les paramètres de GNOME dans la partie Recherche.