nscd(8) on Solnix vs Linux and the BSDs
On Solnix, nscd is the illumos name service cache daemon at /usr/sbin/nscd, managed by SMF. Its -i invalidates a cache for everyone and takes a cachename from a fixed list. FreeBSD's -i only affects the calling user's personal cache, and its cache is per-user by default.
The manual pages
- Solnix: nscd(8) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: nscd(8) man-pages-6.18
- FreeBSD: nscd(8) 15.1-RELEASE
What Solnix runs
A default Solnix system runs the illumos nscd at /usr/sbin/nscd. No other variants are shipped. The service is svc:/system/name-service-cache, managed with svcadm(8) and queried with svcs(1).
Differences
| Compared with | Topic | What differs |
|---|---|---|
| FreeBSD | -i meaning | Solnix nscd -i cachename invalidates the named cache. FreeBSD -i invalidates only the calling user's personal cache. Invalidating the cache for every user on FreeBSD needs -I, which is root-only and has no Solnix equivalent.Source: Solnix nscd(8) -i; FreeBSD nscd(8) -i, -I |
| FreeBSD | cache scope | FreeBSD's cache is per-user: each user sees only data they cached. On Solnix the main nscd holds the shared cache. Per-user nscd child processes exist only when per-user lookups are enabled in nscd.conf(5). Source: FreeBSD nscd(8) DESCRIPTION; Solnix nscd(8) DESCRIPTION |
| FreeBSD | foreground, debug and thread options | FreeBSD nscd has -n (do not daemonize), -s (single thread), -t (trace) and -d. The Solnix page documents none of these. Its options are -f, -g, -e and -i.Source: FreeBSD nscd(8) SYNOPSIS, -n, -s, -t; Solnix nscd(8) SYNOPSIS |
| Linux, FreeBSD | -f config file | Solnix nscd -f file reads configuration from the given file, and per-user nscds use the same file. The FreeBSD synopsis has no -f. The Linux page documents only --help and /etc/nscd.conf.Source: Solnix nscd(8) -f; FreeBSD nscd(8) SYNOPSIS; Linux nscd(8) OPTIONS |
| Linux, FreeBSD | enable/disable and show statistics | Solnix has -e cachename, yes|no to enable or disable one cache, and -g to print configuration and statistics. -g is the only option non-root users can run. The Linux and FreeBSD pages document neither option.Source: Solnix nscd(8) -e, -g; Linux nscd(8) OPTIONS; FreeBSD nscd(8) SYNOPSIS |
| Linux, FreeBSD | cachename values | Solnix cachename must be one of: passwd, group, hosts, ipnodes, exec_attr, prof_attr, user_attr, ethers, rpc, protocols, networks, bootparams, auth_attr, services, netmasks, printers, project. FreeBSD also accepts all. The Solnix page lists no all value. Linux names the database, e.g. nscd -i <database>.Source: Solnix nscd(8) OPTIONS; FreeBSD nscd(8) -i; Linux nscd(8) NOTES |
| Linux | cached databases | Solnix caches passwd, group, hosts, ipnodes, exec_attr, prof_attr, user_attr, ethers, rpc, protocols, networks, bootparams, auth_attr, services, netmasks, printers and project. Linux caches passwd, group, hosts, services and netgroup. Both leave shadow uncached. Source: Solnix nscd(8) DESCRIPTION; Linux nscd(8) DESCRIPTION |
| Linux | cache invalidation on file change | On Solnix, modifying a local database such as /etc/hosts or /etc/resolv.conf invalidates that cache on the next call to nscd. Linux watches files, with a short delay unless inotify is available. For nonstandard NSS modules it needs nscd -i.Source: Solnix nscd(8) DESCRIPTION; Linux nscd(8) NOTES |
| Linux, FreeBSD | service management | Solnix runs nscd as SMF service svc:/system/name-service-cache, controlled with svcadm(8) and queried with svcs(1). The Linux and FreeBSD pages describe no service manager integration. Source: Solnix nscd(8) NOTES; Linux nscd(8); FreeBSD nscd(8) |
| Linux, FreeBSD | -g output not stable | Solnix -g output is subject to change and must not be used as a programming interface. The other pages have no matching option.Source: Solnix nscd(8) NOTES |
Standards
- POSIX: nscd is not a POSIX.1-2024 utility.
Writing portable scripts
- Do not script nscd flags across systems:
-imeans a global invalidate on Solnix and a per-user one on FreeBSD, and Linux documents only--help. Branch on the OS and check the page first. - Do not parse nscd
-goutput on Solnix; the page says it may change.
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.