updatedb(1) on Solnix vs Linux and the BSDs
updatedb is not in the Solnix base system; install pkgs.solnix.findutils to get the GNU updatedb. It is configured with command-line options and environment variables. FreeBSD's locate.updatedb takes no options and is configured through /etc/locate.rc.
The manual pages
- Solnix: updatedb(1) from
pkgs.solnix.findutils - FreeBSD: updatedb(8) 15.1-RELEASE
What Solnix runs
Not installed by default: add pkgs.solnix.findutils. The page documents the GNU version of updatedb, which builds the databases read by GNU locate. No other illumos variants are shipped. The page says the default database file is system-dependent and names only the Debian GNU/Linux default, /var/cache/locate/locatedb.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| FreeBSD | how it is configured | Solnix (GNU) updatedb is configured with options such as --localpaths, --prunepaths, --prunefs and --output, plus matching environment variables. FreeBSD locate.updatedb has no options in its synopsis; its manual says /etc/locate.rc controls the database contents.Source: Solnix updatedb(1) SYNOPSIS, OPTIONS; FreeBSD updatedb(8) SYNOPSIS, DESCRIPTION |
| FreeBSD | command name and path | On Solnix the command is updatedb, from pkgs.solnix.findutils. On FreeBSD the program is locate.updatedb in /usr/libexec, which is not a normal PATH directory. The FreeBSD page is named updatedb(8) but its NAME line says locate.updatedb.Source: Solnix updatedb(1) NAME, SYNOPSIS; FreeBSD updatedb(8) NAME, SYNOPSIS |
| FreeBSD | configuration file and environment | FreeBSD reads its configuration from /etc/locate.rc, and LOCATE_CONFIG gives the path to that file. The Solnix page documents no configuration file and no LOCATE_CONFIG. It uses FINDOPTIONS, NETPATHS, PRUNEPATHS, PRUNEFS, LOCALUSER and NETUSER.Source: FreeBSD updatedb(8) DESCRIPTION, ENVIRONMENT; Solnix updatedb(1) OPTIONS |
| FreeBSD | scheduling | FreeBSD's manual says locate.updatedb is typically run weekly by /etc/periodic/weekly/310.locate. The Solnix page does not say how often updatedb runs or name any scheduler; the database is only as fresh as your last run.Source: FreeBSD updatedb(8) DESCRIPTION; Solnix updatedb(1) DESCRIPTION |
| FreeBSD | default scan scope | Solnix updatedb scans / by default (--localpaths) and prunes /tmp /usr/tmp /var/tmp /afs and filesystem types nfs, NFS and proc. The FreeBSD page does not state its defaults.Source: Solnix updatedb(1) --localpaths, --prunepaths, --prunefs; FreeBSD updatedb(8) DESCRIPTION |
| FreeBSD | database format | Solnix updatedb writes LOCATE02 by default, and --dbformat can select the slocate format (marked security level 1). The FreeBSD page does not describe a database format or a way to choose one.Source: Solnix updatedb(1) --dbformat; FreeBSD updatedb(8) DESCRIPTION |
| FreeBSD | network paths and running as another user | Solnix updatedb can index network directories separately (--netpaths) and search them as another user via su(1): --netuser defaults to daemon, and --localuser sets the user for local paths. The FreeBSD page documents nothing like this.Source: Solnix updatedb(1) --netpaths, --netuser, --localuser; FreeBSD updatedb(8) |
| FreeBSD | filenames with newlines | Solnix updatedb handles filenames containing newlines only if the system sort has a working -z option. The page suggests locate --null if such names may be needed. The FreeBSD page says nothing about newlines.Source: Solnix updatedb(1) BUGS; FreeBSD updatedb(8) |
| Linux | same program | The Solnix page documents the GNU findutils updatedb. No Linux counterpart page is in the bundle, so no Linux differences can be stated from these texts. The Solnix page does name a Debian GNU/Linux default database path. Source: Solnix updatedb(1) DESCRIPTION, --output |
Standards
- POSIX: updatedb is not a POSIX.1-2024 utility.
- Solnix: The page states no standards conformance or interface stability.
- FreeBSD: The FreeBSD page has no STANDARDS section. It cites Woods, James A., “Finding Files Fast”, ;login, 8:1, pp. 8-10, 1983.
Writing portable scripts
- Do not rely on updatedb options in portable scripts. FreeBSD locate.updatedb takes none and is configured through
/etc/locate.rc. - Do not assume updatedb is on PATH or that the database is current; on Solnix it needs pkgs.solnix.findutils and a scheduled run.
Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.