zfs(8) on Solnix vs Linux and the BSDs

Solnix zfs is the illumos zfs at /usr/sbin/zfs and /sbin/zfs. Every subcommand and its options is documented in the single zfs(8) page, while the Linux and FreeBSD zfs(8) pages point to separate zfs-<subcommand>(8) pages. Legacy mounts on Solnix go in /etc/vfstab. The bundle has no OpenBSD page.

What Solnix runs

A default Solnix system runs the illumos zfs at /usr/sbin/zfs and /sbin/zfs. No other variants are shipped. Pools are managed with zpool(8).

Differences

Compared withTopicWhat differs
Linux, FreeBSDwhere options are documentedThe Solnix zfs(8) page lists every subcommand with its options. The Linux and FreeBSD zfs(8) pages give only zfs subcommand [arguments] and send you to zfs-create(8), zfs-list(8), zfsprops(7) and so on.
Source: Solnix zfs(8) SYNOPSIS; Linux zfs(8) SYNOPSIS, SEE ALSO; FreeBSD zfs(8) SYNOPSIS, SEE ALSO
NetBSDlegacy mount tableWith mountpoint=legacy, Solnix expects you to mount the file system yourself with mount, umount and /etc/vfstab. NetBSD's page names /etc/fstab instead.
Source: Solnix zfs(8) Mount Points; NetBSD zfs(8) Mount Points
Linux, FreeBSDversion subcommandLinux and FreeBSD have zfs -V and zfs version [-j]. The Solnix synopsis has only zfs [-?] and no version subcommand. zfs upgrade -V version sets a file system version and does not print the tool version.
Source: Linux zfs(8) SYNOPSIS; FreeBSD zfs(8) SYNOPSIS; Solnix zfs(8) SYNOPSIS (upgrade -V version)
Linux, FreeBSDenvironment variablesThe Linux and FreeBSD pages document ZFS_COLOR, ZFS_MOUNT_HELPER, ZFS_SET_PIPE_MAX and ZFS_MODULE_TIMEOUT. The Solnix zfs(8) text in the bundle does not mention any of them.
Source: Linux zfs(8) ENVIRONMENT VARIABLES; FreeBSD zfs(8) ENVIRONMENT VARIABLES; Solnix zfs(8)
Linux, FreeBSD, NetBSDdataset name limitsSolnix limits a dataset name to MAXNAMELEN (256 bytes) and nesting to 50 levels. Linux and FreeBSD allow ZFS_MAX_DATASET_NAME_LEN - 1 (currently 255) characters from [A-Za-z_.:/ -], with nesting set by zfs_max_dataset_nesting. NetBSD gives MAXNAMELEN (256 bytes) and states no nesting limit.
Source: Solnix zfs(8) DESCRIPTION; Linux zfs(8) DESCRIPTION; FreeBSD zfs(8) DESCRIPTION; NetBSD zfs(8) DESCRIPTION
NetBSDmissing subcommands on NetBSDThe NetBSD synopsis has no load-key, unload-key, change-key, program, remap, project or projectspace. Solnix has all of them, so encryption-key handling and zfs program are not documented on NetBSD.
Source: Solnix zfs(8) SYNOPSIS; NetBSD zfs(8) SYNOPSIS
NetBSDreceive property overridesSolnix zfs receive accepts -o property=value and -x property as well as -o origin=snapshot. The NetBSD synopsis shows only -o origin=snapshot.
Source: Solnix zfs(8) SYNOPSIS (receive); NetBSD zfs(8) SYNOPSIS (receive|recv)
Linux, FreeBSDzones vs jailsOn Solnix, a file system is delegated to a non-global zone with zonecfg add fs, and its mountpoint must be legacy. The Linux and FreeBSD pages refer to zfs-jail(8) instead.
Source: Solnix zfs(8) Zones; Linux zfs(8) SEE ALSO; FreeBSD zfs(8) SEE ALSO

Standards

  • POSIX: zfs is not a POSIX.1-2024 utility.
  • Linux: INTERFACE STABILITY: Committed.
  • FreeBSD: INTERFACE STABILITY: Committed.

Writing portable scripts

  • In scripts, call zfs list and zfs get with -H and -p. Both appear in the Solnix and NetBSD synopses for list and get; on Linux and FreeBSD, check zfs-list(8) and zfs-get(8).
  • If a dataset uses mountpoint=legacy, put the mount entry in /etc/vfstab on Solnix and /etc/fstab on NetBSD.

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.