Provided by: manpages-fr-extra_20151231_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)