UPDATEDB(1)

πŸ’… updatedb β€” the girl who keeps your file database cute

okay so bestie, welcome to the updatedb manual page β€” this is the GNU version, from the General Commands Manual (section 1, obviously, we're giving main character energy). She updates the file name databases that locate uses, and honestly? she's the backbone of the whole operation. no cap.

πŸ¦‹ NAME

updatedb β€” update a file name database ✨

🌸 SYNOPSIS

updatedb [options]

πŸ’– DESCRIPTION

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

In networked environments, it often makes sense to build a database at the root of each filesystem, containing the entries for that filesystem. So like, updatedb is then run for each filesystem on the fileserver where that filesystem is on a local disk, to prevent thrashing the network (we do not thrash the network in this house πŸ’€). Users can select which databases locate searches using an environment variable or command line option; see locate(1). Databases cannot be concatenated together. not a vibe, just a fact.

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. so like… rip to that format ig πŸͺ¦


✨ OPTIONS ✨

  • --findoptions='-option1 -option2...' β€” global options to pass on to find. The environment variable FINDOPTIONS also sets this value. Default is none.
  • --localpaths='path1 path2...' β€” non-network directories to put in the database. Default is /.
  • --netpaths='path1 path2...' β€” 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...' β€” 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...' β€” 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 β€” the database file to build. Default is system-dependent. In Debian GNU/Linux, the default is /var/cache/locate/locatedb.
  • --localuser=user β€” the user to search non-network directories as, using 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 β€” the user to search network directories as, using su(1). Default is daemon. You can also use the environment variable NETUSER to set this user.
  • --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 β€” print the version number of updatedb and exit.
  • --help β€” print a summary of the options to updatedb and exit.

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

lowkey important bestie β€” no -z on your sort means newline filenames are getting lost in the sauce πŸ™ˆ

🫢 REPORTING BUGS

GNU findutils online help: <https://www.gnu.org/software/findutils/#get-help>

Report any translation bugs to <https://translationproject.org/team/>

Report any other issue via the form at the GNU Savannah bug tracker: <https://savannah.gnu.org/bugs/?group=findutils>

General topics about the GNU findutils package are discussed at the bug-findutils mailing list: <https://lists.gnu.org/mailman/listinfo/bug-findutils>


Copyright Β© 1994–2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.


🌈 SEE ALSO

find(1), locate(1), xargs(1), locatedb(5)

Full documentation <https://www.gnu.org/software/findutils/updatedb> or available locally via: info updatedb


ok so that's the whole thing, bestie πŸ’– this came to you courtesy of findutils, dated 2023-11-10, and that's the UPDATEDB(1) page in full. slay, go update those databases, and remember: databases cannot be concatenated together. periodt πŸŽ€βœ¨

πŸ“¦ where this page comes from
  • ubuntu stonking: locate 4.11.0-2 Β· GFDL-1.3-or-later-no-invariants OR GFDL-1.3-or-later-no-invariants
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms