Provided by: manpages-fr-extra_20111118_all bug

NOM

       locatedb - Bases de données incrémentales de noms de fichiers

DESCRIPTION

       Cette  page  de manuel documente le format des bases de noms de fichiers de la version GNU
       de locate. Les bases de données de noms de fichiers contiennent des listes de fichiers qui
       étaient  dans  des  arborescences  de répertoires particulières lors de la dernière mise à
       jour des bases de données.

       Il est possible d'avoir plusieurs bases de données. Les utilisateurs peuvent  sélectionner
       la base de données de recherche en utilisant une variable d'environnement ou une option en
       ligne de commande ; consultez locate(1). L'administrateur système peut choisir le  nom  du
       fichier de la base de données par défaut, la fréquence des mises à jour et les répertoires
       à référencer. Normalement, les bases de noms de fichiers sont mises à  jour  en  exécutant
       updatedb périodiquement, typiquement chaque nuit ; consultez updatedb(1).

Le format de base de données du LOCATE02 du GNU.

       C'est le format par défaut des bases de données générées par updatedb. updatedb exécute un
       programme appelé frcode afin de compresser la liste des noms de fichier  en  utilisant  «\
       front-compression\  »  qui  réduit  la taille de la base de données d'un facteur 4 à 5. «\
       Front-compression\ » (aussi connu sous le nom d'« encodeur incrémental ») travaille  comme
       suit.

       Les  éléments  de  la  base  de données sont triés (sans distinction des minuscules et des
       majuscules pour la convenance des utilisateurs). Puisque la liste est triée, chaque entrée
       partage probablement un préfixe (début du nom de fichier) avec l'entrée précédente. Chaque
       entrée de la base de données débute avec un octet de compteur  de  décalage  différentiel,
       composé  du  nombre  de  caractères  supplémentaires  à  ajouter par rapport au préfixe de
       l'entrée précédente qui n'étaient pas déjà partagés avec le prédécesseur.  (Les  compteurs
       peuvent  être négatifs). Après le compteur, on trouve le reste de la chaîne ASCII terminée
       par un caractère nul, à savoir la partie du nom qui suit le préfixe partagé.

       Si le compteur de décalage différentiel est plus grand que la valeur d'un octet (+/- 127),
       l'octet prend la valeur 0x80 (en binaire 10000000) et le compteur qui suit est un mot de 2
       octets avec le poids fort en premier (ordre des octets réseau).  Ce  compteur  peut  aussi
       être négatif (le signe moins apparaissant dans le premier des deux octets).

       Toute  base de données débute avec une entrée factice d'un fichier appelé « LOCATE02 » que
       locate vérifie pour s'assurer que la base de données de fichiers se trouve dans un  format
       correct ; il ignore cette entrée pendant les recherches.

       Les  bases  de données ne peuvent pas être concaténées ensemble même si la première entrée
       (factice) est enlevée de toutes les bases de données sauf pour la première. Cela est dû au
       compteur  de  décalage différentiel de la première entrée de la seconde base de données et
       des suivantes qui serait alors erroné.

       A l'avenir, les données contenues dans la base de données de  locate  pourraient  ne  plus
       être   ordonnées  d'une  quelconque  façon.  L'obtention  de  données  triées  nécessitera
       l'utilisation d'un tube vers sort -f.

format de la base de données slocate

       Le programme slocate utilise un format de données  proche  de  celui  du  locate  du  GNU,
       quoique  légèrement différent. Le premier octet de la base de données indique le niveau de
       sécurité. Si ce niveau de sécurité est à 0, slocate lira, cherchera, et affichera les noms
       des  fichiers  d'après les informations contenues dans la base. Toutefois, si le niveau de
       sécurité  est  à  1,  slocate  fera  disparaître  de  sa  sortie  les  données  auxquelles
       l'utilisateur  ne peut accéder réellement. Le second octet de la base de données est zéro.
       Ce second octet est suivi par la première valeur contenue dans la base de  données.  Cette
       première entrée n'est précédée par aucun compteur de décalage, ni donnée fantôme. En fait,
       le compteur de décalage différentiel de la première entrée vaut zéro.

       À partir de la deuxième donnée (si elle existe), la base de données est interprétée  comme
       le format LOCATE02 du GNU.

Format de l'ancienne base de données Locate

       Un  ancien  format de base de données est également utilisé par les programmes Unix locate
       et find et leurs premières versions GNU. updatedb exécute des programmes appelés bigram et
       code  pour  créer les bases de données dans l'ancien format. L'ancien format diffère de la
       description ci-dessus de la façon suivante. Au lieu que chaque  entrée  commence  avec  un
       octet  de  compteur  de  décalage  différentiel  et finisse avec un octet nul, les valeurs
       d'octets comprises entre 0 et 28 indiquent un compteur de  décalage  différentiel  compris
       entre -14 et 14. L'octet, indiquant qu'un compteur de décalage différentiel long suit, est
       0x1e (30) et non 0x80. Les compteurs longs sont  ordonnés  selon  l'hôte,  qui  n'est  pas
       forcément  l'ordre  des octets réseau et selon la taille des mots entier de l'hôte qui est
       habituellement de  4  octets.  Ils  représentent  un  compteur  dont  leurs  valeurs  sont
       soustraites  de  14.  Les  lignes  de  la  base  de  données  ne  possèdent pas d'octet de
       terminaison ; le début de la ligne suivante est indiqué par le premier octet de valeur  <=
       30.

       En  plus, au lieu de débuter avec une entrée factice, l'ancien format des bases de données
       débute avec une liste de 256 octets contenant les 128 « bigrams » les plus fréquents de la
       liste  de fichiers. Un « bigram » est une paire d'octets contiguë. Les octets dans la base
       de données qui ont le bit de poids fort à 1 sont indexés (avec le bit de poids fort  à  0)
       dans  la  table  de  « bigrams ».  Le  « bigram »  et  le  codage  du compteur de décalage
       différentiel fait que ces bases de données sont 20 à  25 %  plus  petites  que  celles  du
       nouveau  format mais elles ne sont pas dans un format 8 bits classique. Tout octet dans un
       nom de fichier qui est dans l'intervalle utilisé par les codes spéciaux est remplacé  dans
       la  base  de  données  par  un  « ? »  qui, ce n'est pas une coïncidence, est le caractère
       spécial de l'interpréteur de commande pour la correspondance d'un seul caractère.

EXEMPLE

       Entrées de frcode :
       /usr/src
       /usr/src/cmd/aardvark.c
       /usr/src/cmd/armadillo.c
       /usr/tmp/zoo

       Longueur du plus long préfixe de l'entrée précédente à partager :
       0 /usr/src
       8 /cmd/aardvark.c
       14 rmadillo.c
       5 tmp/zoo

       Sortie de frcode avec les caractères nuls restant changés en caractères saut de  ligne  et
       les octets de compteurs rendus affichables :
       0 LOCATE02
       0 /usr/src
       8 /cmd/aardvark.c
       6 rmadillo.c
       -9 tmp/zoo

       (6 = 14 - 8 et -9 = 5 - 14)

VOIR AUSSI

       find(1), locate(1), locatedb(5), xargs(1), Finding Files (en ligne avec info ou en version
       imprimée)

BOGUES

       La meilleure façon  de  signaler  un  bogue  est  d'utiliser  le  formulaire  à  l'adresse
       http://savannah.gnu.org/bugs/?group=findutils.  L'utilité de cette page est que vous serez
       en mesure de suivre l'évolution de la correction  du  problème.  D'autres  commentaires  à
       propos  de  locate  et  du  paquet  findutils peuvent être envoyés à la liste de diffusion
       bug-findutils.   Pour   s'abonner   à    cette    liste,    envoyez    un    courriel    à
       bug-findutils-request@gnu.org.

TRADUCTION

       Cette  page  de  manuel  a  été traduite et est maintenue depuis 2006 par Sylvain Cherrier
       <sylvain DOT cherrier AT free DOT fr> et les membres de la  liste  <debian-l10n-french  AT
       lists  DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport de
       bogue sur le paquet manpages-fr-extra.

                                                                                      LOCATEDB(5)