sync(1) on Solnix vs Linux and the BSDs

The published Solnix sync(1) page is the GNU coreutils one, but a default Solnix system runs the illumos sync at /usr/bin/sync, /usr/sbin/sync and /sbin/sync. The coreutils page documents -d, -f and file arguments, which the BSD sync(8) pages do not have: they take no options or operands.

What Solnix runs

The published page comes from pkgs.solnix.coreutils (GNU coreutils 9.7), but the command on PATH is the illumos sync at /usr/bin/sync, /usr/sbin/sync and /sbin/sync. The bundle contains no illumos sync text, so it does not say whether the illumos sync accepts -d, -f or file operands. Do not assume the options below work with the default command. To get the GNU one, add pkgs.solnix.coreutils.

Differences

Compared withTopicWhat differs
FreeBSD, OpenBSD, NetBSDoptions and file operandsThe Solnix coreutils page (GNU) accepts -d/--data, -f/--file-system and FILE operands. The FreeBSD, OpenBSD and NetBSD synopses are just `sync`, with no options or operands. The BSD pages document no way to sync one file or one file system.
Source: Solnix sync(1) SYNOPSIS, -d, -f; FreeBSD sync(8) SYNOPSIS; OpenBSD sync(8) SYNOPSIS; NetBSD sync(8) SYNOPSIS
FreeBSD, OpenBSD, NetBSDwhat is flushedWith no operands, the BSD sync utilities call sync(2). The Solnix coreutils page says that with files given, sync flushes only them or their containing file systems. It does not say which system call runs with no operands.
Source: Solnix sync(1) DESCRIPTION; FreeBSD sync(8) DESCRIPTION; OpenBSD sync(8) DESCRIPTION; NetBSD sync(8) DESCRIPTION
Linuxsame program as LinuxThe Solnix coreutils page and the Linux sync(1) page have the same synopsis, options (-d, -f, --help, --version) and text. They are the same GNU program, but only if the Solnix coreutils sync is the one that runs. The default command on PATH is the illumos one.
Source: Solnix sync(1) SYNOPSIS and options; Linux sync(1) SYNOPSIS and options; header line on default command
all fourpersistence guaranteesThe GNU page (Solnix coreutils and Linux) warns that persistence guarantees vary per system and points to fdatasync(2), fsync(2), sync(2) and syncfs(2). The BSD pages make no such statement and refer only to sync(2) and fsync(2).
Source: Solnix sync(1) BUGS, SEE ALSO; Linux sync(1) BUGS; FreeBSD/OpenBSD/NetBSD sync(8) SEE ALSO
FreeBSD, OpenBSD, NetBSDpreferred shutdown methodAll three BSD pages say it is generally preferable to use reboot(8) or halt(8) to shut down, since they may also resynchronize the hardware clock and flush internal caches before a final sync. The Solnix page gives no shutdown advice.
Source: FreeBSD sync(8) DESCRIPTION; OpenBSD sync(8) DESCRIPTION; NetBSD sync(8) DESCRIPTION; Solnix sync(1) DESCRIPTION
FreeBSDsyncer referenceThe FreeBSD page also lists syncer(4) in SEE ALSO. The Solnix, Linux, OpenBSD and NetBSD pages do not.
Source: FreeBSD sync(8) SEE ALSO

Standards

  • POSIX: sync is not a POSIX.1-2024 utility.
  • Solnix: The bundle's illumos text is absent, so no ATTRIBUTES or INTERFACE STABILITY statement is available for the default command.
  • FreeBSD: The page states only that a sync utility appeared in Version 4 AT&T UNIX; it has no STANDARDS section.
  • OpenBSD: The page states only that a sync command appeared in Version 4 AT&T UNIX; it has no STANDARDS section.
  • NetBSD: The page states only that a sync command appeared in Version 4 AT&T UNIX; it has no STANDARDS section.

Writing portable scripts

  • In portable scripts call plain `sync` with no options or file operands. -d, -f and FILE are documented only in the GNU page and not in the BSD pages.
  • Do not use sync --help or --version as a feature probe on Solnix: the default sync on PATH is illumos, and the bundle does not say it supports 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.