mkfifo(1) on Solnix vs Linux and the BSDs

The published Solnix mkfifo(1) page is GNU coreutils, the same text as Linux, but a default Solnix system runs the illumos /usr/bin/mkfifo. The bundle has no illumos page, so GNU-only options such as -Z, --context and --mode are not confirmed for the command on PATH. The BSDs document only -m.

What Solnix runs

The page is published by pkgs.solnix.coreutils (GNU coreutils), but the command on PATH on a default Solnix system is the illumos /usr/bin/mkfifo. The bundle does not include the illumos page, so the manual text here cannot say how illumos mkfifo differs. No other variants are shipped. To get the GNU options described on the published page, add pkgs.solnix.coreutils and check which mkfifo your PATH finds first.

Differences

Compared withTopicWhat differs
Linuxsame program as LinuxThe published Solnix page and the Linux page are both GNU coreutils mkfifo with identical synopsis and options (-m/--mode, -Z, --context, --help, --version). The page text is the same, apart from the version footer and packaging notes.
Source: Solnix mkfifo(1) SYNOPSIS, DESCRIPTION; Linux mkfifo(1) SYNOPSIS, DESCRIPTION
FreeBSD, OpenBSD, NetBSDSELinux/SMACK context (-Z, --context)The GNU page documents -Z and --context[=CTX] to set a SELinux or SMACK security context. The FreeBSD, OpenBSD and NetBSD pages document only -m, so a script using -Z fails there.
Source: Solnix mkfifo(1) -Z, --context; FreeBSD/OpenBSD/NetBSD mkfifo(1) SYNOPSIS
FreeBSD, OpenBSD, NetBSDlong options, --help, --versionThe GNU page documents --mode, --help and --version. The BSD pages document only the short -m, and none lists --help or --version.
Source: Solnix mkfifo(1) -m, --mode, --help, --version; FreeBSD/OpenBSD/NetBSD mkfifo(1) SYNOPSIS and DESCRIPTION
all fourillumos mkfifo on PATH not documented in the bundleOn a default Solnix system the command on PATH is illumos /usr/bin/mkfifo, but the bundle contains only the GNU page. The manual text here does not say whether the illumos command accepts -Z, --context or --mode.
Source: Bundle header (command on PATH is illumos /usr/bin/mkfifo); Solnix mkfifo(1) is the GNU coreutils page
FreeBSD, OpenBSD, NetBSDsymbolic mode baseThe BSD pages say that in a symbolic -m mode, + and - are relative to an initial mode of a=rw. The GNU page says only that the default mode is a=rw minus umask, and does not say how symbolic modes are interpreted.
Source: FreeBSD mkfifo(1) -m; OpenBSD mkfifo(1) -m; NetBSD mkfifo(1) -m; Solnix mkfifo(1) -m, --mode
FreeBSDumask with -mFreeBSD says -m sets the permission bits while ignoring the umask of the calling process. The GNU page says the mode replaces the default a=rw minus umask. The OpenBSD and NetBSD pages do not say whether umask applies with -m.
Source: FreeBSD mkfifo(1) -m; Solnix mkfifo(1) -m, --mode; OpenBSD mkfifo(1) -m; NetBSD mkfifo(1) -m
FreeBSD, OpenBSD, NetBSDexit status documentedAll three BSD pages have an EXIT STATUS section: 0 on success, >0 on error. The GNU page has no EXIT STATUS section, so the manual does not say what values it returns.
Source: FreeBSD/OpenBSD/NetBSD mkfifo(1) EXIT STATUS; Solnix mkfifo(1) (no EXIT STATUS section)

Standards

  • POSIX: mkfifo is a POSIX.1-2024 utility.
  • Solnix: The published GNU coreutils page has no STANDARDS section and does not name a standard. The bundle has no illumos page for the command on PATH.
  • FreeBSD: The mkfifo utility is expected to be IEEE Std 1003.2 (“POSIX.2”) compliant.
  • OpenBSD: The mkfifo utility is compliant with the IEEE Std 1003.1-2008 (“POSIX.1”) specification.
  • NetBSD: The mkfifo utility is expected to be IEEE Std 1003.2-1992 (“POSIX.2”) compliant.

Writing portable scripts

  • Use only mkfifo [-m mode] name... in portable scripts. -Z, --context, --mode, --help and --version are GNU options and are not documented on the BSD pages.
  • Give -m a numeric mode (e.g. 0600) rather than a symbolic one: the BSD pages define symbolic modes relative to a=rw, and the GNU page does not say how it treats 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.