Manpages - updatedb.conf.5

Table of Contents


/etc/updatedb.conf - a configuration file for updatedb(8)


/etc/updatedb.conf is a text file. Blank lines are ignored. A # character outside of a quoted string starts a comment extending until end of line.

Other lines must be of the following form:


White space between tokens is ignored. VARIABLE is an alphanumeric string which does not start with a digit. VALUE can contain any character except for . No escape mechanism is supported within VALUE and there is no way to write VALUE spanning more than one line.

Unknown VARIABLE values are considered an error. The defined variables are:

A whitespace-separated list of file system types (as used in /etc/mtab) which should not be scanned by *updatedb*(8). The file system type matching is case-insensitive. By default, no file system types are skipped.

When scanning a file system is skipped, all file systems mounted in the subtree are skipped too, even if their type does not match any entry in PRUNEFS.

A whitespace-separated list of directory names (without paths) which should not be scanned by *updatedb*(8). By default, no directory names are skipped.

Note that only directories can be specified, and no pattern mechanism (e.g. globbing) is used.

A whitespace-separated list of path names of directories which should not be scanned by *updatedb*(8). Each path name must be exactly in the form in which the directory would be reported by *locate*(1).

By default, no paths are skipped.

One of the strings 0, no, 1 or yes. If PRUNE_BIND_MOUNTS is 1 or yes, bind mounts are not scanned by *updatedb*(8). All file systems mounted in the subtree of a bind mount are skipped as well, even if they are not bind mounts. As an exception, bind mounts of a directory on itself are not skipped.

By default, bind mounts are not skipped.


When a directory is matched by PRUNEFS, PRUNENAMES or PRUNEPATHS, *updatedb*(8) does not scan the contents of the directory. The path of the directory itself is, however, entered in the created database. For example, if /tmp is in PRUNEPATHS, *locate*(1) will not show any files stored in /tmp, but it can show the /tmp directory. This behavior differs from traditional locate implementations.

In some updatedb*(8) implementations *PRUNEPATHS can be used to exclude non-directory files. This is not the case in this implementation.

/etc/updatedb.conf is a shell script in some implementations, which allows much more flexibility in defining the variables. Equivalent functionality can be achieved by using the command-line options to *updatedb*(8).


Miloslav Trmac <>


*locate*(1), *updatedb*(8)

Author: dt

Created: 2022-02-20 Sun 09:34