updatedb - update a database for plocate
updatedb creates or updates a database used by
locate(1). If the database already exists, its data is reused to
avoid rereading directories that have not changed.
updatedb is usually run daily from a
systemd.timer(8) to update the default database.
updatedb returns with exit status 0 on success, 1 on
error.
The PRUNE_BIND_MOUNTS, PRUNEFS, PRUNENAMES
and PRUNEPATHS variables, which are modified by some of the options,
are documented in detail in updatedb.conf(5).
- -f, --add-prunefs
FS
- Add entries in white-space-separated list FS to PRUNEFS.
- -n,
--add-prunenames NAMES
- Add entries in white-space-separated list NAMES to
PRUNENAMES.
- -e,
--add-prunepaths PATHS
- Add entries in white-space-separated list PATHS to
PRUNEPATHS.
- --add-single-prunepath
PATH
- Add PATH to PRUNEPATHS. Note that this is currently the only
way to add a path with a space in it.
- -U, --database-root
PATH
- Store only results of scanning the file system subtree rooted at
PATH to the generated database. The whole file system is scanned by
default.
locate(1) outputs entries as absolute path names which
don't contain symbolic links, regardless of the form of PATH.
- --debug-pruning
- Write debugging information about pruning decisions to standard error
output.
- -h, --help
- Write a summary of the available options to standard output and exit
successfully.
- -o, --output
FILE
- Write the database to FILE instead of using the default database.
- --prune-bind-mounts
FLAG
- Set PRUNE_BIND_MOUNTS to FLAG, overriding the configuration
file.
- --prunefs
FS
- Set PRUNEFS to FS, overriding the configuration file.
- --prunenames
NAMES
- Set PRUNENAMES to NAMES, overriding the configuration file.
- --prunepaths
PATHS
- Set PRUNEPATHS to PATHS, overriding the configuration file.
- -l,
--require-visibility FLAG
- Set the “require file visibility before reporting it” flag
in the generated database to FLAG.
If FLAG is 0 or no, or if the database
file is readable by "others" or it is not owned by
plocate, locate(1) outputs the database entries even if
the user running locate(1) could not have read the directory
necessary to find out the file described by the database entry.
If FLAG is 1 or yes (the default),
locate(1) checks the permissions of parent directories of each
entry before reporting it to the invoking user. To make the file
existence truly hidden from other users, the database group is set to
plocate and the database permissions prohibit reading the
database by users using other means than locate(1), which is
set-gid plocate.
Note that the visibility flag is checked only if the database
is owned by plocate and it is not readable by
"others".
- -v, --verbose
- Output path names of files to standard output, as soon as they are found.
- -V, --version
- Write information about the version and license of locate on
standard output and exit successfully.
To create a private plocate database as a user other than
root, run
updatedb -l 0 -o db_file -U
source_directory
Note that all users that can read db_file can get the complete list of
files in the subtree of source_directory.
- /usr/local/etc/updatedb.conf
- A configuration file. See updatedb.conf(5). Uses exactly the same
format as the one used by mlocate(1)'s updatedb, so they can be
shared.
- /var/db/plocate/plocate.db
- The database updated by default.
Databases built with --require-visibility no allow users to
find names of files and directories of other users, which they would not
otherwise be able to do.
Miloslav Trmac <mitr@redhat.com>
Steinar H. Gunderson <steinar+plocate@gunderson.no>
locate(1), updatedb.conf(5)