---
name: "updatedb.conf"
section: "5"
platform: "linux"
package: "plocate"
version: "1.1.25-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/updatedb.conf"
---

# updatedb.conf(5)

a configuration file for updatedb(8)

## NAME

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

## DESCRIPTION

**/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:

*VARIABLE* **=** **"***VALUE***"**

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:

- **PRUNEFS**

  A whitespace-separated list of file system types (as used in **/etc/mtab**) which should not be scanned by [**updatedb**(8)](/updatedb/8.md). 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**.

- **PRUNENAMES**

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

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

- **PRUNEPATHS**

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

  By default, no paths are skipped.

- **PRUNE\_BIND\_MOUNTS**

  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)](/updatedb/8.md). 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. Note that Btrfs subvolume mounts are handled internally in the kernel as bind mounts (see [**btrfs-subvolume**(8)](/btrfs-subvolume/8.md)), and thus, may get skipped if you have also mounted the filesystem root itself. To counteract this, make your root directory a Btrfs subvolume, too.

  By default, bind mounts are not skipped.

## NOTES

When a directory is matched by **PRUNEFS**, **PRUNENAMES** or **PRUNEPATHS**, [**updatedb**(8)](/updatedb/8.md) 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)](/locate/1.md) 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)](/updatedb/8.md) 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)](/updatedb/8.md).

## AUTHOR

Miloslav Trmac \<mitr@redhat.com\>

## SEE ALSO

[**locate**(1)](/locate/1.md), [**updatedb**(8)](/updatedb/8.md)
