gunzip(1) on Solnix vs Linux and the BSDs

gunzip is not in the base Solnix system; install pkgs.solnix.gzip to get it. The Solnix page text in the bundle is empty, so Solnix behaviour cannot be compared flag by flag. Between the counterparts, the biggest differences are which input formats gunzip accepts and how -f, -a and -l behave.

What Solnix runs

Not installed by default: add pkgs.solnix.gzip. The header names the implementation only as "gzip", and no other variants are shipped. The Solnix page body in the bundle is empty and its option list is blank. The manual text provided does not say which flags or formats Solnix's gunzip supports, so the differences below are among Linux (gzip-1.14), FreeBSD 15.1 and NetBSD 11.0.

Differences

Compared withTopicWhat differs
all fouravailability on Solnixgunzip is not in the default Solnix base system. It comes from the package pkgs.solnix.gzip. Scripts must not assume gunzip or zcat is on PATH on a fresh Solnix install.
Source: Solnix bundle header ("none: install pkgs.solnix.gzip")
Linux, FreeBSD, NetBSDSolnix page contentThe Solnix gunzip(1) page is empty in the bundle. The manual does not say whether Solnix's gzip matches the Linux gzip-1.14 options or the BSD ones, so check gunzip --help after installing.
Source: Solnix gunzip(1) section (empty); Solnix option flags line (blank)
FreeBSD, NetBSDformats gunzip can readLinux gunzip reads files made by gzip, zip (single member only), compress, compress -H and pack. FreeBSD and NetBSD list compress, bzip2, lzip and xz instead, and FreeBSD adds zstd. Neither BSD page mentions pack or zip.
Source: Linux gunzip(1) DESCRIPTION; FreeBSD gunzip(1) DESCRIPTION; NetBSD gunzip(1) DESCRIPTION
NetBSDzstd inputFreeBSD gunzip can decompress zstd(1) files. The NetBSD page lists compress, bzip2, lzip and xz only, with no zstd.
Source: FreeBSD gunzip(1) DESCRIPTION; NetBSD gunzip(1) DESCRIPTION
FreeBSD, NetBSD-a (ascii)On NetBSD, -a does nothing and exists for GNU compatibility. On Linux it converts line endings, but only on some non-Unix systems. The FreeBSD page does not list -a in the synopsis or options.
Source: NetBSD gunzip(1) -a; Linux gunzip(1) -a, --ascii; FreeBSD gunzip(1) SYNOPSIS and OPTIONS
Linux, NetBSD-f and symbolic linksFreeBSD -f also allows symbolic links to regular files. The NetBSD -f text lists multiple links, overwriting, terminals and pass-through, but not symlinks. The Linux -f text does not mention symlinks, while its DESCRIPTION says gzip ignores symbolic links.
Source: FreeBSD gunzip(1) -f; NetBSD gunzip(1) -f; Linux gunzip(1) -f and DESCRIPTION
Linux-f promptingLinux gunzip prompts before overwriting an existing file unless -f is given and it is not running in the background. The FreeBSD and NetBSD pages say -f allows overwriting, and do not describe a prompt.
Source: Linux gunzip(1) -f; FreeBSD gunzip(1) -f; NetBSD gunzip(1) -f
FreeBSD, NetBSD-l with -v and the 4 GB limitOn FreeBSD and NetBSD, -l -v also shows compression method, CRC, date and time. FreeBSD's BUGS section says the recorded size is a 32-bit field, so -l cannot report files over 4GB. The Linux page text provided is trimmed here.
Source: FreeBSD gunzip(1) -l, BUGS; NetBSD gunzip(1) -l; Linux gunzip(1) -l (trimmed)
FreeBSD, NetBSDGZIP variable and exit statusFreeBSD and NetBSD parse GZIP as extra options placed before the command-line options. They exit 0 on success, 1 on error and 2 on a warning. The Linux page text provided does not show either, because it is trimmed.
Source: FreeBSD gunzip(1) ENVIRONMENT, EXIT STATUS; NetBSD gunzip(1) ENVIRONMENT, EXIT STATUS
FreeBSD, NetBSDrecognised suffixesLinux gunzip accepts .gz, -gz, .z, -z and _z (case ignored), and treats .tgz and .taz as shorthand for .tar.gz and .tar.Z. The BSD pages name only the default .gz, changed with -S, and do not mention .tgz or .taz.
Source: Linux gunzip(1) DESCRIPTION; FreeBSD gunzip(1) -S; NetBSD gunzip(1) -S
Linuxzcat and files without .gzLinux says zcat is identical to gunzip -c and decompresses files with the right magic number whether or not they end in .gz. The BSD pages say only that invocation as zcat or gzcat enables -c and -d.
Source: Linux gunzip(1) DESCRIPTION (zcat); FreeBSD gunzip(1) DESCRIPTION; NetBSD gunzip(1) DESCRIPTION

Standards

  • POSIX: gunzip is not a POSIX.1-2024 utility.
  • Linux: The Linux page text provided names no standard.
  • FreeBSD: The FreeBSD page names no standard. HISTORY says the implementation was ported from NetBSD gzip version 20181111 and first appeared in FreeBSD 7.0.
  • NetBSD: The NetBSD page names no standard. It documents NetBSD gzip version 20260103.

Writing portable scripts

  • Check that gunzip exists before using it. It is not in the Solnix base system, so install pkgs.solnix.gzip first.
  • Stick to gunzip -c, -f, -k, -t and -S. All three counterparts document them, but run gunzip --help on Solnix to confirm.
  • Do not rely on gunzip reading zip, pack or zstd input. Linux and the BSDs differ on those formats.

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.