curl(1) on Solnix vs Linux and the BSDs

On Solnix, curl is the upstream curl tool, published by pkgs.solnix.curl and found on PATH in the base system. The Solnix page documents curl 8.10.1 and the Linux page curl-8.22.0, so newer Linux-documented features may be missing on Solnix. The bundle has no BSD curl pages, so the BSDs are not compared.

What Solnix runs

A default Solnix system runs curl from the base system packages. The bundle lists no other variants. The page is published by pkgs.solnix.curl and its footer reads 'curl 8.10.1'. The Linux counterpart is 'curl-8.22.0'.

Differences

Compared withTopicWhat differs
Linuxdocumented curl versionThe Solnix page is for curl 8.10.1. The Linux page header says curl-8.22.0. Options and behaviour added between those releases may be absent on Solnix. Check 'curl --version' and 'curl --help all' before relying on newer features.
Source: Solnix curl(1) footer line 'curl 8.10.1'; Linux curl(1) header 'curl-8.22.0'
Linuxprotocol listThe Solnix page lists RTMP and RTMPS and does not list MQTTS. The Linux page lists MQTTS and does not list RTMP or RTMPS. A script using mqtts:// or rtmp:// URLs may work on one system only.
Source: Solnix curl(1) DESCRIPTION; Linux curl(1) DESCRIPTION
Linux--parallel-max-hostThe Linux page lists --parallel-max-host as a global option. The Solnix page does not mention it in its global options or its extracted flags. A script that uses it may fail on Solnix.
Source: Linux curl(1) OPTIONS (global options list); Solnix curl(1) OPTIONS (global options list)
Linux'--' end of optionsThe Linux page says the first argument that is exactly '--' ends option parsing, so later arguments are URLs even if they start with a dash. The Solnix page does not document this.
Source: Linux curl(1) OPTIONS; Solnix curl(1) OPTIONS
Linux--option=value syntaxThe Linux page says a long option name ending in '=' takes the text after it as its argument (added in 8.16.0). The Solnix page does not document this, and says long options need a space before their value.
Source: Linux curl(1) OPTIONS ('Added in 8.16.0'); Solnix curl(1) OPTIONS
LinuxNETRC environment variableThe Linux page documents NETRC, which overrides all other .netrc location mechanisms (added in curl 8.16.0). The Solnix ENVIRONMENT section does not list it.
Source: Linux curl(1) ENVIRONMENT NETRC; Solnix curl(1) ENVIRONMENT
LinuxCURL_SSL_BACKEND namesThe Solnix page lists these backend names: bearssl, gnutls, mbedtls, openssl, rustls, schannel, secure-transport, wolfssl. The Linux page lists only gnutls, mbedtls, openssl, rustls, schannel, wolfssl. The names only matter on a build with MultiSSL.
Source: Solnix curl(1) ENVIRONMENT CURL_SSL_BACKEND; Linux curl(1) ENVIRONMENT CURL_SSL_BACKEND
Linuxglobal short optionsThe Solnix page lists the short forms -Z, -#, -S and -v among the global options, which keep their values after -:/--next. The Linux page lists only long names. The Solnix page also gives -: as the short form of --next.
Source: Solnix curl(1) OPTIONS (global options list; '-:, --next'); Linux curl(1) OPTIONS (global options list)

Standards

Writing portable scripts

  • Do not rely on --parallel-max-host, 'NETRC', the '--' end-of-options marker or --option=value syntax in scripts that must run on Solnix. The Solnix page documents none of them.
  • Before using a protocol such as MQTTS or RTMP, check 'curl --version' on each target system, because the Solnix and Linux pages list different protocols.

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.