pm-gawk(1) on Solnix vs Linux and the BSDs

pm-gawk(1) on Solnix documents gawk's persistent-memory feature, which is switched on by the GAWK_PERSIST_FILE environment variable. It is not in the base system: install pkgs.solnix.gawk. The Solnix and Linux pages are the same text apart from one Linux-only caveat about version-mismatch warnings.

What Solnix runs

Not installed by default: add pkgs.solnix.gawk. The bundle shows no illumos variant of this page and no BSD counterpart pages.

Differences

Compared withTopicWhat differs
Linuxsame feature and same pageThe Solnix and Linux pages have the same SYNOPSIS, DESCRIPTION and ENVIRONMENT VARIABLES. Both use GAWK_PERSIST_FILE with an initially empty heap file made by truncate -s. Both say the feature needs Gawk 5.2 or later.
Source: Solnix pm-gawk(1) SYNOPSIS, DESCRIPTION, ENVIRONMENT VARIABLES; Linux pm-gawk(1) (gawk-5.4.1) same sections
Linuxversion-mismatch warningThe Linux page says pm-gawk warns when the running gawk version differs from the one that first used the backing file. The Solnix page does not say this, so the manual does not document that warning on Solnix.
Source: Linux pm-gawk(1) CAVEATS (last paragraph); Solnix pm-gawk(1) CAVEATS
LinuxCIFS caveatBoth pages warn against putting the backing file on a GNU/Linux CIFS filesystem. The Solnix page does not say whether other filesystems on Solnix have problems.
Source: Solnix pm-gawk(1) CAVEATS; Linux pm-gawk(1) CAVEATS
FreeBSD, OpenBSD, NetBSDno BSD counterpart pageNo FreeBSD, OpenBSD or NetBSD pm-gawk(1) page is in the bundle. The manual does not say whether those systems support GAWK_PERSIST_FILE.
Source: Bundle header lists only a Linux counterpart
Linuxnot in the base systemA default Solnix system has no pm-gawk command on PATH. pm-gawk is not a program: it is a gawk feature, so you need gawk from pkgs.solnix.gawk. The Linux page is gawk-5.4.1; the Solnix page does not state its gawk version.
Source: Bundle header (none: install pkgs.solnix.gawk; Linux gawk-5.4.1); Solnix pm-gawk(1) DESCRIPTION

Standards

  • POSIX: pm-gawk is not a POSIX.1-2024 utility.

Writing portable scripts

  • Treat GAWK_PERSIST_FILE as gawk-only (Gawk 5.2 or later). Other awk implementations will not use it, so do not rely on persisted variables in portable scripts.
  • Check the gawk version before relying on an existing heap file. The Linux page says gawk warns on a version mismatch with the file's first user.

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.