zstd(1) on Solnix vs Linux and the BSDs

zstd is not in the Solnix base system: install pkgs.solnix.zstd. The Solnix page text in the bundle is empty, so no Solnix-specific differences can be stated. The Linux, FreeBSD and NetBSD pages are the same upstream zstd page.

What Solnix runs

Not installed by default: add pkgs.solnix.zstd. The bundle contains no text for the Solnix zstd(1) page and lists no other illumos variants, so the manual text cannot be compared with the Solnix page.

Differences

Compared withTopicWhat differs
Linux, FreeBSD, NetBSDsame programThe Linux (zstd-1.5.7), FreeBSD 15.1 and NetBSD 11.0 pages carry the same NAME, option set and description, so they document the same upstream zstd. Differences in the pages are only typographic. The Solnix page text is empty in the bundle, so equality with Solnix is not shown.
Source: Linux, FreeBSD and NetBSD zstd(1) NAME and OPTIONS; Solnix zstd(1) section is empty
all fournot in base systemSolnix has no zstd on PATH by default. A script that calls zstd, zstdmt, unzstd or zstdcat fails until pkgs.solnix.zstd is installed. Linux, FreeBSD and NetBSD pages describe zstd as the normal tool. The bundle does not say whether those systems install it by default.
Source: Bundle header (none: install pkgs.solnix.zstd); Linux/FreeBSD/NetBSD zstd(1) NAME
Linux, FreeBSD, NetBSDdefault compression level and threadsOn the counterpart pages the default compression level is 3 (range 1-19, 20-22 with --ultra) and the default is 1 thread (-T1). -T0 uses the number of physical CPU cores. The Solnix page does not document these defaults in the bundle.
Source: Linux/FreeBSD/NetBSD zstd(1) Operation Modifiers: -#, --ultra, -T#
Linux, FreeBSD, NetBSDgzip-like behaviour differencesOn the counterparts, zstd keeps source files by default (--rm removes them), does not store the input filename or attributes, and refuses to read or write compressed data on a terminal. A gzip-style script expecting the source to be removed behaves differently.
Source: Linux/FreeBSD/NetBSD zstd(1) DESCRIPTION bullet list
Linux, FreeBSD, NetBSDcommand aliasesThe counterpart pages define zstdmt as zstd -T0, unzstd as zstd -d and zstdcat as zstd -dcf. Whether pkgs.solnix.zstd provides these names is not stated in the bundle.
Source: Linux/FreeBSD/NetBSD zstd(1) SYNOPSIS
FreeBSDSYNOPSIS lineThe FreeBSD SYNOPSIS lists only zstdmt, unzstd and zstdcat; it lacks the zstd [OPTIONS] [-|INPUT-FILE] [-o OUTPUT-FILE] line that the Linux and NetBSD pages show.
Source: FreeBSD zstd(1) SYNOPSIS; Linux zstd(1) SYNOPSIS; NetBSD zstd(1) SYNOPSIS
OpenBSDno OpenBSD pageNo OpenBSD zstd(1) page is in the bundle, so nothing is stated about OpenBSD.
Source: Bundle header COUNTERPART lines (linux, freebsd, netbsd only)

Standards

  • POSIX: zstd is not a POSIX.1-2024 utility.

Writing portable scripts

  • Check that zstd exists before use (command -v zstd); on Solnix install pkgs.solnix.zstd first.
  • Pass -o or --stdout explicitly and use -q, rather than depending on default progress output or file naming.

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.