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