Loading

NOM

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

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