UPDATEDB(1)UPDATEDB(1)NAMEupdatedb - update a file name database
This manual page documents the GNU version of updatedb, which updates
file name databases used by GNU locate. The file name databases con‐
tain 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 filesys‐
tem. 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). Databases can not be
Versions of locate prior to 4.2.31 fail to correctly handle long file
names in the old databse format, but the default database format
(called LOCATE02) is not affected by this problem. All versions of
locate since version 4.0 support the new LOCATE02 format. The old
database format also cannot correctly represent non-ASCII characters.
Global options to pass on to find. The environment variable
FINDOPTIONS also sets this value. Default is none.
Non-network directories to put in the database. Default is /.
Network (NFS, AFS, RFS, etc.) directories to put in the data‐
base. The environment variable NETPATHS also sets this value.
Default is none.
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.
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.
The database file to build. Default is system-dependent. In
Debian GNU/Linux, the default is /var/cache/locate/locatedb.
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.
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.
Create the database in the old format instead of the new one.
Avoid using this option as older versions of locate are suscep‐
tible to a buffer overrun when reading old-format databases.
The old fatabase format is also incapable of correctly repre‐
senting non-ASCII characters.
Print the version number of updatedb and exit.
--help Print a summary of the options to updatedb and exit.
SEE ALSOfind(1), locate(1), locatedb(5), xargs(1) Finding Files (on-line in
Info, or printed)
All versions of GNU locate prior to 4.2.31 fail to correctly handle
long (roughly, over 1024 bytes) filenames in old-format databases.
This can lead to a heap buffer overrun and it a potential security
issue. Verions 4.3.0 to 4.3.6 are also affected by the bug. Databases
in the default LOCATE02 format are correctly handled.
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.
The best way to report a bug is to use the form at http://savan‐
nah.gnu.org/bugs/?group=findutils. The reason for this is that you
will then be able to track progress in fixing the problem. Other com‐
ments about updatedb(1) and about the findutils package in general can
be sent to the bug-findutils mailing list. To join the list, send
email to email@example.com.