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.

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 withTopicWhat differs
FreeBSD-i meaningSolnix 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
FreeBSDcache scopeFreeBSD'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
FreeBSDforeground, debug and thread optionsFreeBSD 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 fileSolnix 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, FreeBSDenable/disable and show statisticsSolnix 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, FreeBSDcachename valuesSolnix 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
Linuxcached databasesSolnix 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
Linuxcache invalidation on file changeOn 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, FreeBSDservice managementSolnix 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 stableSolnix -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: -i means 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 -g output 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.