10.58. Findutils-4.4.2

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).

10.58.1. Installation de Findutils

Préparez la compilation de Findutils :

CC="gcc ${BUILD64}" ./configure --prefix=/usr \
    --libexecdir=/usr/lib64/locate --localstatedir=/var/lib64/locate

Voici la signification des options de configure :

--localstatedir

Cette option modifie l'emplacement de la base de données locate dans /var/lib64/locate, qui est conforme au FHS.

Compilez le paquet :

make

Pour tester les résultats, exécutez :

make check

Installez le paquet :

make install

Le programme find est utilisé par certains des scripts du paquet CLFS-Bootscripts. Comme il se peut que /usr ne soit pas disponible pendant les premières étapes du démarrage, le binaire find doit être sur la partition racine :

mv -v /usr/bin/find /bin

Le script updatedb doit être modifié pour pointer vers le nouvel emplacement de find :

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

10.58.2. Contenu de Findutils

Programmes installés: bigram, code, find, frcode, locate, updatedb, and xargs

Descriptions courtes

bigram

Anciennement utilisé pour générer les bases de données locate

code

Anciennement utilisé pour générer les bases de données locate. C'est l'ancêtre de frcode.

find

Recherche dans des répertoires donnés des fichiers selon certains critères

frcode

est appelé par updatedb pour compresser la liste des noms de fichiers. La compression se fait à la volée, divisant la taille de la base par quatre ou cinq.

locate

Recherche dans une base de données de noms de fichiers une chaîne un motif donné

updatedb

Met à jour la base de données locate. Elle scanne le système de fichiers entier (y compris les autres systèmes de fichiers montés, sauf si on lui spécifie de ne pas les prendre en compte) puis enregistre chaque nom de fichier trouvé dans la base de données

xargs

Peut être utilisé pour appliquer une commande à une liste de fichiers