pax(1) on Solnix vs Linux and the BSDs

On Solnix, pax is the illumos pax, which implements the POSIX.1-2024 utility. Its synopsis has far fewer options than the Linux, FreeBSD, OpenBSD and NetBSD pax: no -0, -E, -G, -T, -U or -B. Scripts written for the BSD or Linux pax need checking.

What Solnix runs

A default Solnix system runs the illumos pax; the bundle shows no other variant. The page is published by pkgs.solnix.illumos-world-man. The default output archive format is tar(1), and supported formats are detected automatically on input. The Solnix text in the bundle is trimmed after the -i option, so options after it are known only from the SYNOPSIS.

Differences

Compared withTopicWhat differs
Linux, OpenBSD, NetBSD-0 (NUL-terminated names)Solnix pax has no -0. On Linux, OpenBSD and NetBSD, -0 reads and writes NUL-terminated path names, for use with find -print0 and xargs -0. FreeBSD's synopsis has no -0 either. A pipeline like that cannot use pax on Solnix.
Source: Solnix pax(1) SYNOPSIS; Linux pax(1) -0; OpenBSD pax(1) -0; NetBSD pax(1) SYNOPSIS; FreeBSD pax(1) SYNOPSIS
all fourselect by user, group or timeThe Linux, FreeBSD, OpenBSD and NetBSD synopses all take -U user, -G group and -T range to select members. The Solnix synopsis has none of them; only pattern and file operands, -c and -d select members.
Source: Solnix pax(1) SYNOPSIS; Linux, FreeBSD, OpenBSD, NetBSD pax(1) SYNOPSIS (-U, -G, -T)
all four-E limit and damaged archivesThe four counterparts take -E limit and describe recovery from damaged archives, searching for the most members it can process. The Solnix synopsis has no -E, and the visible Solnix text does not describe such recovery.
Source: Solnix pax(1) SYNOPSIS; Linux, FreeBSD, OpenBSD, NetBSD pax(1) DESCRIPTION (damaged archive, -E)
all four-B volume size limitThe counterparts have -B bytes, which limits the bytes written to one archive volume (m, k and b suffixes on Linux and OpenBSD). Solnix has only -b blocksize and advises portable applications not to use a blocksize above 32256.
Source: Solnix pax(1) -b; Linux pax(1) -B; OpenBSD pax(1) -B; FreeBSD and NetBSD pax(1) SYNOPSIS
all four-z, -j and -J flagsThe counterpart synopses list -z (and -j on Linux, OpenBSD and NetBSD; -J on Linux). The Solnix synopsis has none. The bundle excerpts do not show what these flags do, so check the full counterpart pages before relying on them.
Source: Solnix pax(1) SYNOPSIS; Linux, FreeBSD, OpenBSD, NetBSD pax(1) SYNOPSIS
all four-D, -O, -P, -Y, -ZAll four counterpart synopses list -D, -O, -P, -Y and -Z. The Solnix synopsis has none of them. The excerpts do not show their meaning, so scripts using them need testing on Solnix.
Source: Solnix pax(1) SYNOPSIS; Linux, FreeBSD, OpenBSD, NetBSD pax(1) SYNOPSIS
all fourSolnix-only -@ and / flagsThe Solnix synopsis lists -@ and / in read, write and copy modes. List mode also prints a file's extended attributes when it has any. No counterpart synopsis has -@ or /, and the visible counterpart text does not mention extended attributes.
Source: Solnix pax(1) SYNOPSIS, DESCRIPTION list mode; Linux, FreeBSD, OpenBSD, NetBSD pax(1) SYNOPSIS
all four-o in list modeSolnix accepts -o options in list mode as well as in read and write modes. In the Linux, FreeBSD, OpenBSD and NetBSD synopses, -o appears only for read and write.
Source: Solnix pax(1) SYNOPSIS (first form); Linux, FreeBSD, OpenBSD, NetBSD pax(1) SYNOPSIS
NetBSDremote archives and extra optionsNetBSD pax processes an archive named [[user@]host:]file through rmt(8), and has -N dbdir, -A, -M and -V. The Solnix page does not mention remote archives or these options.
Source: NetBSD pax(1) DESCRIPTION, SYNOPSIS; Solnix pax(1) SYNOPSIS
all foursymbolic links on the command lineSolnix pax archives a symbolic link itself by default; -H or -L changes that. Solnix lists -H and -L on its list and read forms too. The counterpart synopses show -H and -L only for write and copy.
Source: Solnix pax(1) -H, SYNOPSIS; Linux, FreeBSD, OpenBSD, NetBSD pax(1) SYNOPSIS

Standards

  • POSIX: pax is a POSIX.1-2024 utility.

Writing portable scripts

  • For a portable script, use only the POSIX-style options in the Solnix synopsis (-r, -w, -f, -x, -s, -p, -b, -c, -d, -i, -k, -l, -n, -t, -u, -v) and keep any -b blocksize at or below 32256.
  • Do not rely on -0, -T, -U, -G, -E, -z or -j: they are in the Linux and BSD synopses but not the Solnix one.

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.