6.60. Findutils-4.6.0

Le paquet Findutils contient des programmes de recherche de fichiers. Ces programmes sont fournis pour rechercher récursivement dans une hiérarchie de répertoires et pour créer, maintenir et chercher dans une base de données (souvent plus rapide que la recherche récursive mais moins fiable si la base de données n'a pas été mise à jour récemment).

Temps de construction approximatif: 0.7 SBU
Espace disque requis: 49OB Mo

6.60.1. Installation de Findutils

D'abord supprimez un test qui peut boucler indéfiniment sur certaines machines :

sed -i 's/test-lock..EXEEXT.//' tests/Makefile.in

Préparez la compilation de Findutils :

./configure --prefix=/usr --localstatedir=/var/lib/locate

Voici la signification de l'option de configure :

--localstatedir

Cette option modifie l'emplacement de la base de données locate pour qu'elle soit dans /var/lib/locate, pour être compatible avec FHS.

Compilez le paquet :

make

Pour tester les résultats, lancez :

make check

Installez le paquet :

make install

Certains scripts du paquet LFS-Bootscripts dépendent de find. Comme /usr peut ne pas être disponible lors des premières étapes du démarrage, ce programme doit être sur la partition racine. Le script updatedb doit aussi être modifié pour corriger un chemin explicite :

mv -v /usr/bin/find /bin
sed -i 's|find:=${BINDIR}|find:=/bin|' /usr/bin/updatedb

6.60.2. Contenu de Findutils

Programmes installés: code, find, locate, oldfind, updatedb et xargs

Descriptions courtes

code

Était auparavant utilisé pour créer les bases de données locate ; c'est l'ancêtre de frcode.

find

Cherche dans les hiérarchies de répertoires donnés les fichiers correspondant à un critère spécifié

locate

Recherche à travers la base de données des noms de fichiers et renvoie les noms contenant une certaine chaîne ou correspondant à un certain modèle

oldfind

Ancienne version de find, qui utilise un algorithme différent

updatedb

Met à jour la base de données locate ; Il parcourt le système de fichiers entier (en incluant les autres systèmes de fichiers actuellement montés, sauf si le contraire est spécifié) et place tous les noms de fichiers qu'ils trouvent dans la base de données

xargs

Peut être utilisé pour lancer une commande donnée sur une liste de fichiers