Ceci est une ancienne révision du document !
Ubuntu Dapper - septembre 2006
Rédigé par roger64
De quoi s'agit-il?
Aider le débutant sous Gnome à utiliser des outils de recherche simples et efficaces
Introduction
Il existe sur Ubuntu de nombreux outils destinés à faciliter votre recherche. Je vais vous présenter -et conseiller- deux outils spécialisés dans la recherche, l'un en mode graphique et l'autre en console et en évoquer quelques autres.
I - Interface graphique Gnome
présentation
C'est un outil spécialisé à l'emploi simple et à l'architecture sophistiquée.
Son nom français est "Rechercher des fichiers" (gnome-search-tool). Cette interface au fonctionnement intuitif est installée par défaut dans le menu raccourcis. Elle combine en fait trois commandes (locate -détaillé plus bas-, find et grep). Chaque outil dispose de son manuel dédié ("man gnome-search-tool" en anglais, "man find" et "man grep" en français). L'interface graphique peut être lancée : - soit par le menu raccourcis. - soit par la console
$ gnome-search-tool
L'interface graphique, outre son caractère attrayant, a un atout sur les commandes élémentaires qui la composent: il est possible d'ouvrir le répertoire ou le fichier trouvé par simple clic. Comme toute interface graphique cependant, c'est un compromis où l'on perd en flexibilité ce qu'on gagne en simplification.
Observons la contribution de chacune de ces commandes au fonctionnement de l'interface.
apport commande locate
Son point fort: le résultat instantané. Cette commande est étudiée de façon détaillée plus bas. L'interface connait la même contrainte de temps que locate. Pour que le résultat de la recherche sur un fichier récent soit positif, il vous faudra soit ré-indexer à partir de la console, soit attendre par ailleurs le résultat de find -voir plus bas-.
apport commande find
Son point fort: la recherche systématique find est un besogneux qui arpente infatigablement. Il a accès à la totalité de l'arborescence mais il vous est vivement conseillé de la circonscrire si l'on veut obtenir un résultat dans un délai correct. L'interface le permet de façon simple pour un débutant avec notamment l'inclusion des signets de Nautilus et une fonction "autre" destinée à sélectionner le répertoire que vous lui désignez. Voir commandes_de_base
apport commande grep
Son point fort: la recherche plein texte. L'interface peut grâce cette commande mener dans certaines conditions une recherche plein texte. grep est optimisé pour le travail en console portant sur la recherche à l'intérieur de fichiers créés par un éditeur de texte et surtout pour le monde raréfié des expressions rationnelles. Il donne avec cette interface de bons résultats pour les fichiers aux formats proches du format texte (txt, rtf, abw) mais aucun notamment avec les formats odt et pdf. Enfin, on peut considérer que l'adaptation graphique de grep aux besoins courants (14 choix possibles…) constitue un effort remarquable au profit de l'utilisateur moyen sinon du pur débutant. Voir commandes_de_base Nota: lorsque la recherche plein texte porte sur la totalité du système de fichiers, il peut arriver que l'outil de recherche vous indique n'avoir pas eu la permission d'ouvrir certains fichiers. Bien que ceci n'ait rien d'anormal, essayez de préférence dans ce cas, de limiter le périmètre de recherche
> Conclusion: l'interface graphique de Gnome est un outil à recommander fermement au débutant. Puissante et conviviale, elle souffre de peu de limitations.
II - La recherche avec locate
présentation
C'est un outil spécialisé d'emploi très simple et au caractère monolithique qui donne des résultats instantanés avec une petite contrainte de temps et d'espace. Il est installé par défaut. Son nom est locate et/ou slocate (les deux appelations sont confondues sous Ubuntu). Nota: le manuel de cet outil est à "man locate" ou "man slocate" (in english).
fonctionnement
locate utilise une base de données indexée listant tous les répertoires et fichiers du champ concerné située à /var/lib/slocate/slocate.db. Par défaut sous Dapper, le fichier /etc/cron.daily/slocate lance l'indexation chaque jour. Grâce à cela, locate va pouvoir trouver instantanément tout ce qui existait avant le dernier démarrage. Tout comme find, locate peut indexer de nombreux systèmes de fichiers (ext3, reiserfs, Fat32 etc…).
contrainte temps
Quand ré-indexer? Si vous utilisez l'hibernation ou la mise en veille pendant une longue période, comprenez que l'indexation n'a été lancée qu'au dernier démarrage de votre machine. locate seule ne pourra donc retrouver un fichier récemment installé ou déplacé sans ré-indexation. Celle-ci ne prend que quelques instants, de trente secondes à une ou deux minutes. Tapez sur votre console:
# sudo updatedb
et attendez le retour du prompt
contrainte espace
L'espace de la recherche par défaut est pour l'essentiel celui de la partition principale, dite "racine", à l'exception de certains fichiers temporaires et des dossiers éventuels placés sous l'arborescence /media. Ceci n'est pas une lacune mais un choix délibéré destiné à éviter des indexations inutiles. L'espace de recherche peut inclure d'autres systèmes de fichiers (Fat32, reiserfs, etc…) pourvu qu'ils soient montés - par exemple sur /mnt- . Nota: l'espace de recherche est paramétrable par édition du fichier de configuration /etc/updatedb.conf.
utilisation
locate trouvera instantanément le chemin du bidule recherché à deux conditions:
- temps: le répertoire ou le fichier a été ajouté ou déplacé avant la dernière indexation.
- espace: le répertoire ou le fichier est situé dans l'espace décrit ci-dessus.
- Ouvrez la console. Tapez en cas de contrainte éventuelle:
$ sudo updatedb
puis pour lancer la recherche, tout simplement:
$ locate bidule
la console affichera alors tous les chemins incluant le mot bidule.
et si...
- je monte une nouvelle partition?
La base de données de locate représente environ un demi-millième de vos données, soit 2 mégas pour 4 gigas de données. Si vous montez par exemple une partition Suse de 4 Gigas sur /mnt/suse et vous ré-indexez (1 à 2 min.) la nouvelle base va doubler de taille (4 mégas) et permettra à locate d'y chercher sans problème. Si vous démontez cette partition Suse, locate ne vous donnera plus de résultat sur la partition démontée.
Par contre, toute partition montée de façon permanente sur l'arborescence /mnt (et non /media rappelez-vous!) sera indexée automatiquement chaque jour.
- j'obtiens trop de réponses?
Vous cherchez par exemple avec locate le suffixe .mp3 ou .rtf. Il peut arriver que locate recense plus de 500 réponses positives soit plus que la valeur par défaut des lignes d'historique de la console Gnome. Problème: la console n'affichera alors que le bas de la liste. Pour y remédier, ajouter juste un "tube" avec less (voir: commandes_de_base Vous pourrez ainsi afficher les résultats page par page à partir de la première page.
$ locate .mp3 | less
Vous pouvez aussi sauvegarder le résultat de votre recherche dans un fichier créé à cet effet (nom choisi: liste.txt):
$ locate .mp3 | tee liste.txt
Conclusion: locate est un outil aussi simple que pratique ne présentant que de faibles contraintes.
III- Autres outils
===== recherche paquets Debian =====
Il existe aussi, faisant double emploi aux deux outils cités plus haut, quelques outils propres aux paquets Debian pour qui la recherche de l'emplacement de fichiers n'est qu'une fonction secondaire. Un mot sur leur utilisation en cas de recherche:
- Utiliser la console pour lancer dpkg
$ dpkg -L bidule
- Utiliser le menu système >administration>Synaptic
La procédure est plus longue: Synaptic est lancé après le mot de passe. Recherchez votre fichier. Une fois que le paquet recherché apparait dans le listing de droite, sélectionnez-le, faites un clic droit et sélectionnez propriétés > fichiers installés. Vous verrez enfin dans une petite fenêtre l'endroit où est installé votre fichier.
- Les autres
Citons notamment le logiciel "Aptitude" qui a aussi une fonction de recherche. Lien (anglais) ici http://web.pdx.edu/~hegbloom/Aptitude/tutorial-intro-aptitude_0.html
Beagle et Nautilus
La liste ci-dessus n'est pas exhaustive.
- Beagle lien ici beagle représente sans doute l'avenir. Il n'est pas encore installé par défaut mais se perfectionne rapidement. Il a aujourd'hui des avantages et des inconvénients qui n'entrent pas dans le cadre de cette présentation.
Voir lien ici.
- Nautilus dispose aussi pour mémoire d'une fonction de recherche que j'ai choisi de ne pas commenter.