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.
The manual pages
- Solnix: zfs(8) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: zfs(8) zfs-user-2.4.4
- FreeBSD: zfs(8) 15.1-RELEASE
- NetBSD: zfs(8) 11.0
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 with | Topic | What differs |
|---|---|---|
| Linux, FreeBSD | where options are documented | The 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 |
| NetBSD | legacy mount table | With 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, FreeBSD | version subcommand | Linux 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, FreeBSD | environment variables | The 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, NetBSD | dataset name limits | Solnix 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 |
| NetBSD | missing subcommands on NetBSD | The 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 |
| NetBSD | receive property overrides | Solnix 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, FreeBSD | zones vs jails | On 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
-Hand-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/vfstabon Solnix and/etc/fstabon 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.