mlocate.db(5)



NAME

   mlocate.db - a mlocate database

DESCRIPTION

   A  mlocate  database  starts  with  a  file header: 8 bytes for a magic
   number ("\0mlocate" like a C literal), 4 bytes  for  the  configuration
   block  size  in  big endian, 1 byte for file format version (0), 1 byte
   for the "require visibility" flag (0 or 1), 2 bytes padding, and a NUL-
   terminated path name of the root of the database.

   The  header  is  followed  by a configuration block, included to ensure
   databases are not reused if some  configuration  changes  could  affect
   their contents.  The size of the configuration block in bytes is stored
   in the file header.  The configuration block is a sequence of  variable
   assignments,  ordered  by  variable  name.   Each  variable  assignment
   consists of a NUL-terminated variable name and an ordered list of  NUL-
   terminated  values.   The  value  list  is  terminated  by one more NUL
   character.  The ordering used is defined by the strcmp () function.

   Currently defined variables are:

   prune_bind_mounts
          A single entry, the  value  of  PRUNE_BIND_MOUNTS;  one  of  the
          strings 0 or 1.

   prunefs
          The value of PRUNEFS, each entry is converted to uppercase.

   prunepaths
          The value of PRUNEPATHS.

   The  rest  of  the  file  until  EOF  describes  directories  and their
   contents.  Each directory starts with a header: 8 bytes  for  directory
   time  (seconds) in big endian, 4 bytes for directory time (nanoseconds)
   in big endian (0 if unknown, less than 1,000,000,000), 4 bytes padding,
   and  a  NUL-terminated  path  name  of  the  the  directory.  Directory
   contents, a sequence of file entries sorted by name, follow.

   Directory  time  is  the  maximum  of  st_ctime  and  st_mtime  of  the
   directory.  updatedb(8) uses the original data if the directory time in
   the database and in the file  system  match  exactly.   Directory  time
   equal to 0 always causes rescanning of the directory: this is necessary
   to handle directories which  were  being  updated  while  building  the
   database.

   Each file entry starts with a single byte, marking its type:

   0      A  non-directory  file.   Followed by a NUL-terminated file (not
          path) name.

   1      A subdirectory.  Followed by a NUL-terminated  file  (not  path)
          name.

   2      Marks the end of the current directory.

   locate(1)  only  reports file entries, directory names are not reported
   because they are reported as an entry in their parent  directory.   The
   only  exception  is the root directory of the database, which is stored
   in the file header.

AUTHOR

   Miloslav Trmac <mitr@redhat.com>

SEE ALSO

   locate(1), updatedb.conf(5), updatedb(8)




Free and Open Source Software


Free Software Video

Useful Programs

Free Online Courses

Open Opportunity

Open Business