apropos(1) on Solnix vs Linux and the BSDs
On Solnix, apropos is the illumos apropos at /usr/bin/apropos, which is just man -k. It matches keywords as substrings of the NAME line only and fails if the whatis database is missing. It takes only -M and -s, with no regex, -a/-o expressions or full-text search.
The manual pages
- Solnix: apropos(1) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: apropos(1) man-db-2.13.1
- FreeBSD: apropos(1) 15.1-RELEASE
- OpenBSD: apropos(1) 8.0
- NetBSD: apropos(1) 11.0
What Solnix runs
A default Solnix system runs the illumos apropos at /usr/bin/apropos. No other variants are shipped. whatis is documented on the same page and does whole-word matching. The whatis database is the one created by man -w, and apropos and whatis fail if it is absent.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| all four | database and failure when missing | Solnix apropos reads the whatis database created by man -w and fails if it is absent. Linux uses a database updated by mandb. FreeBSD and OpenBSD use makewhatis(8) databases. NetBSD uses a SQLite database built by makemandb(8).Source: Solnix apropos(1) DESCRIPTION; Linux apropos(1) DESCRIPTION; FreeBSD apropos(1) DESCRIPTION; OpenBSD apropos(1) DESCRIPTION; NetBSD apropos(1) DESCRIPTION |
| all four | what is searched | Solnix apropos matches keyword against each page's NAME line only. FreeBSD and OpenBSD search the Nm and Nd macro keys by default and can query other mdoc keys. Linux searches names and descriptions. NetBSD searches the full text of all man pages. Source: Solnix apropos(1) DESCRIPTION; FreeBSD apropos(1) Macro Keys; OpenBSD apropos(1) Macro Keys; Linux apropos(1) DESCRIPTION; NetBSD apropos(1) DESCRIPTION |
| Linux, FreeBSD, OpenBSD | regular expressions | Solnix apropos treats each keyword as a plain word, matched case-insensitively and as part of longer words. Linux treats keywords as regular expressions by default. FreeBSD and OpenBSD use case-insensitive extended regular expression matching by default. A pattern that works there is not documented as working on Solnix. Source: Solnix apropos(1) DESCRIPTION; Linux apropos(1) -r; FreeBSD apropos(1) DESCRIPTION; OpenBSD apropos(1) DESCRIPTION |
| Linux, FreeBSD, OpenBSD | multiple keywords | Solnix says each word is considered separately. The page does not mention an and operator. Linux -a shows only items matching all keywords. FreeBSD and OpenBSD join terms with -a and -o, and multiple terms imply pairwise -o.Source: Solnix apropos(1) DESCRIPTION; Linux apropos(1) -a; FreeBSD apropos(1) DESCRIPTION (expression); OpenBSD apropos(1) DESCRIPTION (expression) |
| FreeBSD, OpenBSD, NetBSD | -s section | Solnix -s section restricts the search to one section. FreeBSD and OpenBSD -s does the same. NetBSD also takes -1 to -9 as abbreviations. On Linux, -s takes a colon- or comma-separated list, and a plain 3 also includes 3perl, 3x and so on.Source: Solnix apropos(1) -s; Linux apropos(1) -s; FreeBSD apropos(1) -s; NetBSD apropos(1) -s |
| all four | -M meaning | Solnix -M path replaces the default search path and overrides MANPATH. FreeBSD and OpenBSD -M path replaces the default list of paths, and their -m path prepends. Linux -M path overrides MANPATH. On NetBSD, -M means do not show match context.Source: Solnix apropos(1) -M; Linux apropos(1) -M; FreeBSD apropos(1) -M, -m; OpenBSD apropos(1) -M, -m; NetBSD apropos(1) -M, -m |
| all four | -m meaning | Solnix apropos has no -m. On Linux, -m system searches other operating systems' pages. On FreeBSD and OpenBSD, -m path prepends to the search path. On NetBSD, -m shows the match context, which is the default.Source: Solnix apropos(1) SYNOPSIS; Linux apropos(1) -m; FreeBSD apropos(1) -m; OpenBSD apropos(1) -m; NetBSD apropos(1) -m |
| all four | -a, -l, -C and architecture options | Solnix has none of these. On Linux, -a requires all keywords and -l stops truncation to terminal width. On FreeBSD and OpenBSD, -a shows full pages. On NetBSD, -l selects legacy mode. -C names a config file on all four counterparts. -S selects an architecture on the BSDs.Source: Solnix apropos(1) SYNOPSIS; Linux apropos(1) -a, -l, -C; FreeBSD apropos(1) -a, -C, -S; OpenBSD apropos(1) -a, -C, -S; NetBSD apropos(1) -l, -C, -S |
| Linux | exit status | Linux apropos exits 16 when nothing matches the criteria. The Solnix page has no EXIT STATUS section, so its exit codes are not documented. Source: Linux apropos(1) EXIT STATUS; Solnix apropos(1) (no EXIT STATUS section) |
| NetBSD | ranking and result limit | NetBSD ranks results by relevance using stemming and term weighting, and -n limits the result count. The Solnix page documents neither ranking nor a limit.Source: NetBSD apropos(1) DESCRIPTION, -n; Solnix apropos(1) OPTIONS |
| all four | environment variables | Solnix uses MANPATH and PATH to find the whatis database. Linux adds SYSTEM, MANWIDTH and POSIXLY_CORRECT. NetBSD adds APROPOS (default options) and PAGER. The FreeBSD and OpenBSD text shown names MANPAGER, but the bundle is trimmed there. Source: Solnix apropos(1) ENVIRONMENT; Linux apropos(1) ENVIRONMENT; NetBSD apropos(1) ENVIRONMENT VARIABLES; FreeBSD apropos(1) ENVIRONMENT |
| FreeBSD, OpenBSD | whatis implementation | On Solnix, whatis is a separate invocation that matches whole words, and apropos is man -k. On FreeBSD and OpenBSD, whatis is a synonym for apropos -f, which searches names only.Source: Solnix apropos(1) DESCRIPTION; FreeBSD apropos(1) DESCRIPTION, -f; OpenBSD apropos(1) DESCRIPTION, -f |
Standards
- POSIX: apropos is not a POSIX.1-2024 utility.
- Solnix: Interface Stability: Committed.
Writing portable scripts
- Use only single plain keywords and, at most,
-ssection in portable scripts. Regex, expression and-M/-m semantics differ across all five systems. - Do not rely on the exit status for no match. Only Linux documents one (16). Check whether the output is empty instead.
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.