fsirand(8) on Solnix vs Linux and the BSDs
On Solnix, fsirand is the illumos command at /usr/sbin/fsirand. It takes only -p and one special device. The FreeBSD and OpenBSD versions also take -b and -f and accept several devices; the NetBSD version has -F and -x instead.
The manual pages
- Solnix: fsirand(8) from
pkgs.solnix.illumos-world-man· illumos.org - FreeBSD: fsirand(8) 15.1-RELEASE
- OpenBSD: fsirand(8) 8.0
- NetBSD: fsirand(8) 11.0
What Solnix runs
A default Solnix system runs the illumos fsirand at /usr/sbin/fsirand. No other variants are shipped. The page also installs a file system ID in the superblock.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| FreeBSD, OpenBSD | -b and -f missing | Solnix fsirand has only -p. FreeBSD and OpenBSD also have -b (use the default block size instead of the disklabel value) and -f (run even if the file system is not marked clean). The Solnix page documents neither.Source: Solnix fsirand(8) SYNOPSIS, OPTIONS; FreeBSD fsirand(8) -b, -f; OpenBSD fsirand(8) -b, -f |
| NetBSD | -F and -x missing | NetBSD fsirand has -F (treat special as a file system image) and -x constant (XOR a constant into the random number). Solnix has neither.Source: NetBSD fsirand(8) -F, -x; Solnix fsirand(8) OPTIONS |
| FreeBSD, OpenBSD | number of devices | Solnix fsirand takes exactly one special. FreeBSD and OpenBSD synopses accept one or more special arguments, so a loop over devices in a script is needed on Solnix. Source: Solnix fsirand(8) SYNOPSIS; FreeBSD fsirand(8) SYNOPSIS; OpenBSD fsirand(8) SYNOPSIS |
| FreeBSD, OpenBSD | read-only mounted file systems | FreeBSD and OpenBSD allow fsirand on an unmounted checked file system or on one mounted read-only. Solnix says only an unmounted file system checked with fsck, with the single exception of the root file system in single-user mode. Source: Solnix fsirand(8) DESCRIPTION; FreeBSD fsirand(8) DESCRIPTION; OpenBSD fsirand(8) DESCRIPTION |
| FreeBSD, OpenBSD | root file system reboot | Solnix says the system must be re-booted immediately after running fsirand on the root file system in single-user mode. FreeBSD and OpenBSD specify the command reboot -n.Source: Solnix fsirand(8) DESCRIPTION; FreeBSD fsirand(8) DESCRIPTION; OpenBSD fsirand(8) DESCRIPTION |
| FreeBSD, OpenBSD, NetBSD | newfs already randomizes | The FreeBSD and OpenBSD pages say newfs(8) already does the equivalent, so running fsirand on a new file system is unnecessary. NetBSD says newfs has done so since NetBSD 2.0 and calls fsirand no longer relevant. The Solnix page does not say this. Source: FreeBSD fsirand(8) DESCRIPTION; OpenBSD fsirand(8) DESCRIPTION; NetBSD fsirand(8) DESCRIPTION; Solnix fsirand(8) DESCRIPTION |
| NetBSD | exit status and SIGINFO | NetBSD documents exit zero on success and non-zero on failure, and SIGINFO progress statistics on standard error. The Solnix page documents neither. Source: NetBSD fsirand(8) (exit status, SIGINFO paragraphs); Solnix fsirand(8) |
| FreeBSD, OpenBSD | memory use | FreeBSD and OpenBSD warn that fsirand may use a lot of memory on large disks with few cylinder groups. The Solnix page has no such caveat and instead points to largefile(7) for files of 2 Gbyte or more. Source: FreeBSD fsirand(8) CAVEATS; OpenBSD fsirand(8) CAVEATS; Solnix fsirand(8) USAGE |
| Linux | no Linux counterpart | The bundle includes no Linux page for fsirand, so nothing is stated about Linux. Source: Bundle header (counterparts: freebsd, openbsd, netbsd only) |
Standards
- POSIX: fsirand is not a POSIX.1-2024 utility.
Writing portable scripts
- Use only fsirand
-pspecial and one device per call if the script must run on Solnix and the BSDs;-b,-f,-Fand-xexist on only some of them.
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.