tcopy(1) on Solnix vs Linux and the BSDs

On Solnix, tcopy is the illumos tcopy at /usr/bin/tcopy. It takes only source and destination, with no options. FreeBSD and NetBSD tcopy add -c, -s, -v and -x for verifying and for controlling output and block size, and FreeBSD also adds -l and -r.

What Solnix runs

A default Solnix system runs the illumos tcopy at /usr/bin/tcopy. A /usr/ucb/tcopy variant is also shipped, but the bundle does not describe it. The Solnix page requires Berkeley-compatible device names such as /dev/rmt/1b.

Differences

Compared withTopicWhat differs
FreeBSD, NetBSDoptionsSolnix tcopy has the synopsis 'tcopy source [destination]' and documents no options. FreeBSD and NetBSD tcopy accept -c, -s maxblk, -v and -x, so scripts using these flags will fail on Solnix.
Source: Solnix tcopy(1) SYNOPSIS; FreeBSD tcopy(1) SYNOPSIS, OPTIONS; NetBSD tcopy(1) SYNOPSIS, Options
FreeBSD, NetBSDverifying a copySolnix tcopy documents no way to verify that two tapes are identical. FreeBSD and NetBSD provide -c (copy, then verify) and -v (compare src and dest).
Source: Solnix tcopy(1) DESCRIPTION; FreeBSD tcopy(1) -c, -v; NetBSD tcopy(1) -c, -v
FreeBSDoutput format of the copyOn FreeBSD, a copy to a non-tape dest is written in SIMH-TAP format unless -r is given or dest ends in .000. The Solnix page describes only tape-to-tape copying with blocking preserved.
Source: FreeBSD tcopy(1) DESCRIPTION, -r; Solnix tcopy(1) DESCRIPTION
FreeBSDstdin, stdout and log fileFreeBSD tcopy accepts - for src (standard input) and for dest (standard output), and -l logfile redirects messages. The Solnix page documents none of these.
Source: FreeBSD tcopy(1) DESCRIPTION, -l; Solnix tcopy(1) SYNOPSIS
FreeBSD, NetBSDinformational messages streamFreeBSD and NetBSD -x send informational messages to standard error. The Solnix page documents no option to redirect its report; it says only that copying produces the same output as scanning.
Source: FreeBSD tcopy(1) -x; NetBSD tcopy(1) -x; Solnix tcopy(1) DESCRIPTION
FreeBSD, NetBSDdefault source deviceSolnix requires the source argument. FreeBSD src defaults to /dev/sa0 and NetBSD to /dev/rst0, so tcopy with no arguments works there.
Source: Solnix tcopy(1) SYNOPSIS; FreeBSD tcopy(1) DESCRIPTION; NetBSD tcopy(1) DESCRIPTION
FreeBSD, NetBSDdevice namesSolnix tcopy needs Berkeley-compatible device names, for example /dev/rmt/1b. FreeBSD uses names such as /dev/sa0 and NetBSD /dev/rst0.
Source: Solnix tcopy(1) DESCRIPTION; FreeBSD tcopy(1) DESCRIPTION; NetBSD tcopy(1) DESCRIPTION
FreeBSDmaximum block sizeFreeBSD -s maxblk defaults to kern.maxphys. Solnix has no -s option, and its page does not state a block-size limit.
Source: FreeBSD tcopy(1) -s; Solnix tcopy(1) SYNOPSIS
FreeBSDSIGINFO and exit statusFreeBSD tcopy reports current counts on SIGINFO and documents exit status as varying, with zero meaning success. The Solnix page documents neither.
Source: FreeBSD tcopy(1) DESCRIPTION, EXIT STATUS; Solnix tcopy(1)
FreeBSD, NetBSDioctl requirementThe Solnix page notes tcopy runs only on systems supporting an associated set of ioctl(2) requests. The FreeBSD and NetBSD pages have no such note.
Source: Solnix tcopy(1) NOTES

Standards

  • POSIX: tcopy is not a POSIX.1-2024 utility.
  • FreeBSD: The tcopy command appeared in 4.3BSD. The SIMH-TAP format is documented in the open-simh repository.
  • NetBSD: The tcopy command appeared in 4.3BSD.

Writing portable scripts

  • For portable use, run only 'tcopy source [destination]' with no options; that is the only form all three systems document.
  • Do not rely on a default device or on device names: Solnix wants Berkeley-style names like /dev/rmt/1b, while the BSDs use /dev/sa0 or /dev/rst0.

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.