UPDATEDB(1) General Commands Manual UPDATEDB(1)

# [NAME](#NAME)

updatedb - update a file name database

# [SYNOPSIS](#SYNOPSIS)

**updatedb** \[*options*]

# [DESCRIPTION](#DESCRIPTION)

This manual page documents the GNU version of **updatedb**, which updates file name databases used by GNU **locate**. The file name databases contain lists of files that were in particular directory trees when the databases were last updated. The file name of the default database is determined when **locate** and **updatedb** are configured and installed. The frequency with which the databases are updated and the directories for which they contain entries depend on how often **updatedb** is run, and with which arguments.

In networked environments, it often makes sense to build a database at the root of each filesystem, containing the entries for that filesystem. **updatedb** is then run for each filesystem on the fileserver where that filesystem is on a local disk, to prevent thrashing the network. Users can select which databases **locate** searches using an environment variable or command line option; see [**locate**(1)](/man/os/findutils/locate.1). Databases cannot be concatenated together.

The **LOCATE02** database format was introduced in GNU findutils version 4.0 in order to allow machines with different byte orderings to share the databases. GNU **locate** can read both the old and **LOCATE02** database formats, though support for the old pre-4.0 database format will be removed shortly.

# [OPTIONS](#OPTIONS)

[**--findoptions='*-option1 -option2...*'**](#findoptions=')

Global options to pass on to **find**. The environment variable **FINDOPTIONS** also sets this value. Default is none.

[**--localpaths='*path1 path2...*'**](#localpaths=')

Non-network directories to put in the database. Default is /.

[**--netpaths='*path1 path2...*'**](#netpaths=')

Network (NFS, AFS, RFS, etc.) directories to put in the database. The environment variable **NETPATHS** also sets this value. Default is none.

[**--prunepaths='*path1 path2...*'**](#prunepaths=')

Directories to not put in the database, which would otherwise be. Remove any trailing slashes from the path names, otherwise **updatedb** won't recognise the paths you want to omit (because it uses them as regular expression patterns). The environment variable **PRUNEPATHS** also sets this value. Default is /tmp /usr/tmp /var/tmp /afs.

[**--prunefs='*path...*'**](#prunefs=')

File systems to not put in the database, which would otherwise be. Note that files are pruned when a file system is reached; any file system mounted under an undesired file system will be ignored. The environment variable **PRUNEFS** also sets this value. Default is *nfs NFS proc*.

[**--output=*dbfile***](#output=)

The database file to build. Default is system-dependent. In Debian GNU/Linux, the default is /var/cache/locate/locatedb.

[**--localuser=*user***](#localuser=)

The user to search non-network directories as, using [**su**(1)](/man/os/findutils/su.1). Default is to search the non-network directories as the current user. You can also use the environment variable **LOCALUSER** to set this user.

[**--netuser=*user***](#netuser=)

The user to search network directories as, using [**su**(1)](/man/os/findutils/su.1). Default is **daemon**. You can also use the environment variable **NETUSER** to set this user.

[**--dbformat=F**](#dbformat=F)

Create the database in format F. The default format is called LOCATE02. Alternatively the **slocate** format is also supported. When the **slocate** format is in use, the database produced is marked as having security level 1. If you want to build a system-wide **slocate** database, you may want to run **updatedb** as root.

[**--version**](#version)

Print the version number of **updatedb** and exit.

[**--help**](#help)

Print a summary of the options to **updatedb** and exit.

# [BUGS](#BUGS)

The **updatedb** program correctly handles filenames containing newlines, but only if the system's sort command has a working *-z* option. If you suspect that **locate** may need to return filenames containing newlines, consider using its *--null* option.

# [REPORTING BUGS](#REPORTING_BUGS)

GNU findutils online help: &lt;https://www.gnu.org/software/findutils/#get-help&gt;  
Report any translation bugs to &lt;https://translationproject.org/team/&gt;

Report any other issue via the form at the GNU Savannah bug tracker:

&lt;https://savannah.gnu.org/bugs/?group=findutils&gt;

General topics about the GNU findutils package are discussed at the *bug-findutils* mailing list:

&lt;https://lists.gnu.org/mailman/listinfo/bug-findutils&gt;

# [COPYRIGHT](#COPYRIGHT)

Copyright © 1994–2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later &lt;https://gnu.org/licenses/gpl.html&gt;.  
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

# [SEE ALSO](#SEE_ALSO)

[**find**(1)](/man/os/findutils/find.1), [**locate**(1)](/man/os/findutils/locate.1), [**xargs**(1)](/man/os/findutils/xargs.1), [**locatedb**(5)](/man/os/findutils/locatedb.5)

Full documentation &lt;https://www.gnu.org/software/findutils/updatedb&gt;  
or available locally via: **info updatedb**

2023-11-10 findutils

---

Document: updatedb(1) from findutils 4.11.0-r4 (Chainguard OS)
Source: https://git.savannah.gnu.org/git/findutils.git
