exportfs(1b) on Solnix vs Linux and the BSDs
On Solnix, exportfs(1b) is an illumos compatibility wrapper at /usr/sbin/exportfs that translates SunOS 4.x exportfs options into share/unshare calls. It does not maintain an export table the way Linux exportfs does. Linux-style options such as -r, -f, -s and client:/path arguments do not exist.
The manual pages
- Solnix: exportfs(1b) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: exportfs(8) nfs-utils-2.9.1
What Solnix runs
A default Solnix system runs the illumos exportfs at /usr/sbin/exportfs, from the BSD/Compatibility Package. No other variants are shipped. The page says to use share(8) and unshare(8) whenever possible. The bundle has no FreeBSD, OpenBSD or NetBSD counterpart page.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux | what the command is | Solnix exportfs translates SunOS 4.x options and invokes share or unshare with the translated options. Linux exportfs maintains the NFS export table itself, kept in /var/lib/nfs/etab.Source: Solnix exportfs(1b) DESCRIPTION; Linux exportfs(8) DESCRIPTION |
| Linux | configuration source | Solnix -i ignores options in /etc/dfs/dfstab. Linux -i ignores /etc/exports and files under /etc/exports.d, using only default options and command-line options.Source: Solnix exportfs(1b) -i; Linux exportfs(8) -i |
| Linux | -a meaning | Solnix -a invokes shareall(8), or unshareall(8) when -u is also given. Linux -a exports or unexports all directories listed in its configuration.Source: Solnix exportfs(1b) -a; Linux exportfs(8) -a |
| Linux | missing Linux options | Solnix exportfs has no -r (re-export and sync), -f (flush kernel table), -s (display in exports format), -L (disable netlink) or -d/--debug. Scripts using them will fail on Solnix.Source: Solnix exportfs(1b) SYNOPSIS; Linux exportfs(8) -r, -f, -s, -L, -d |
| Linux | argument form | Solnix takes a single optional pathname. Linux takes client:/path arguments, so you can name a client with a path. The Solnix page documents no client:path form. Source: Solnix exportfs(1b) SYNOPSIS; Linux exportfs(8) SYNOPSIS |
| Linux | -o options syntax | Solnix translates the -o list into share options, so you look up individual options in share(8). Linux takes the same options as exports(5).Source: Solnix exportfs(1b) -o; Linux exportfs(8) -o |
| Linux | no-argument and -v output | With no options or arguments, Solnix runs share to print all currently shared NFS filesystems. Linux lists the current exports, and -v adds the export options to that listing. Solnix -v is documented only as verbose.Source: Solnix exportfs(1b) DESCRIPTION, -v; Linux exportfs(8) -v |
| Linux | kernel communication | Linux exportfs writes /var/lib/nfs/etab and relies on rpc.mountd and nfsv4.exportd, using netlink or /proc. The Solnix page describes none of this and only delegates to share/unshare.Source: Linux exportfs(8) DESCRIPTION; Solnix exportfs(1b) DESCRIPTION |
Standards
- POSIX: exportfs is not a POSIX.1-2024 utility.
Writing portable scripts
- Do not rely on exportfs in portable scripts. Use share/unshare/shareall/unshareall on Solnix and exportfs with
/etc/exportson Linux, selected by which tool is present.
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.