scp(1) on Solnix vs Linux and the BSDs
On Solnix, scp is OpenSSH scp from the openssh package, which is part of the base system. The visible text matches the Linux (openssh-10.5p1) page, and its SYNOPSIS and options match FreeBSD and NetBSD. The differences are small: the OpenBSD SYNOPSIS has no -s, and the FreeBSD page describes -3 differently.
The manual pages
What Solnix runs
A default Solnix system runs the OpenSSH scp published as pkgs.solnix.openssh and found in the base system packages. No other variants are shipped. The Solnix EXIT STATUS section contains only the unexpanded line 'Ex -std scp', so it lists no exit codes. The bundle text is trimmed after the -o option list and the -X options, so the HISTORY and later sections are not available for comparison.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux | same program as Linux | Solnix and Linux scp(1) are the same OpenSSH scp, as far as the bundle shows. SYNOPSIS, flag set and the option descriptions read the same, including SFTP as the default transfer protocol and -O for the legacy SCP protocol.Source: Solnix scp(1) SYNOPSIS, DESCRIPTION, -O; Linux scp(1) SYNOPSIS, DESCRIPTION, -O |
| FreeBSD | -3 wording on FreeBSD | Solnix says -3 (transfer through the local host) is the default, and -R copies directly between the remote hosts. The FreeBSD page says 'Without this option the data is copied directly between the two remote hosts', then also says 'This mode is the default'. That is ambiguous. Pass -3 or -R explicitly in scripts.Source: Solnix scp(1) -3, -R; FreeBSD scp(1) -3 |
| OpenBSD | -s missing from OpenBSD SYNOPSIS | The Solnix, Linux, FreeBSD and NetBSD SYNOPSIS lines list -s ([-346ABCOpqRrsTv]). The OpenBSD SYNOPSIS is [-346ABCOpqRrTv] and has no -s. The bundle text does not show what -s does, so check the full page before using it.Source: Solnix scp(1) SYNOPSIS; OpenBSD scp(1) SYNOPSIS; FreeBSD/NetBSD/Linux scp(1) SYNOPSIS |
| all four | remote-to-remote copies | On Solnix, Linux, OpenBSD and NetBSD, copies between two remote hosts go through the local host by default. -R makes scp run on the origin host instead, which needs password-less authentication from that host to the destination. With -R and a URI, you cannot give a port on the target.Source: Solnix scp(1) -3, -R, DESCRIPTION; Linux/OpenBSD/NetBSD scp(1) -3 |
| all four | -T and strict filename checking | Solnix scp checks by default that filenames received from a remote host match those requested. -T turns this off, because wildcard handling differs between systems and the checks can reject wanted files. Every counterpart SYNOPSIS also lists -T.Source: Solnix scp(1) -T; Linux/FreeBSD/OpenBSD/NetBSD scp(1) SYNOPSIS |
| all four | -X SFTP tuning | Solnix -X accepts nrequests (default 64 concurrent requests) and buffer (default 32KB). All four counterpart SYNOPSIS lines list -X. Their -X option text is cut off in the bundle, so the supported keys and defaults there are not confirmed.Source: Solnix scp(1) -X; Linux/FreeBSD/OpenBSD/NetBSD scp(1) SYNOPSIS |
Standards
- POSIX: scp is not a POSIX.1-2024 utility.
Writing portable scripts
- Write
-3or-Rexplicitly for remote-to-remote copies instead of relying on the default, because the FreeBSD page words the-3default differently. - Do not use
-sin scripts that must also run on OpenBSD, whose SYNOPSIS does not list it. Use-Oonly after checking that the server lacks SFTP, because SFTP is the default everywhere in the bundle.
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.