rmt(8) on Solnix vs Linux and the BSDs
On a default Solnix system, rmt is the illumos /usr/sbin/rmt, the BSD-style remote magtape protocol module used by ufsdump and ufsrestore. The Solnix page published with pkgs.solnix.gtar is the GNU rmt page, which matches the Linux page word for word. The protocol detail that bites is the argument order of the L (lseek) request.
The manual pages
What Solnix runs
The command on PATH is the illumos rmt at /usr/sbin/rmt; no other variants are shipped. The published Solnix page (pkgs.solnix.gtar) describes the GNU rmt for use with tar(1) and cpio(1). That text is trimmed and does not list the individual commands. The bundle does not say where the GNU rmt is installed. The illumos page documents the full command set.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux | same program as the published page | The published Solnix rmt(8) page and the Linux rmt(8) page (cpio-2.15) are identical text: GNU rmt, written from scratch to the BSD specification. The Linux page does not describe the illumos binary that is first on a Solnix PATH. Source: Solnix rmt(8) [gtar] HISTORY; Linux rmt(8) HISTORY; Solnix default on PATH header |
| FreeBSD | L (lseek) argument order | illumos rmt takes L offset\nwhence\n. FreeBSD documents Lwhence\noffset\n, with the two arguments swapped. A client written for FreeBSD's order sends the wrong values to the illumos rmt. Source: Solnix illumos rmt(8) Loffset\nwhence\n; FreeBSD rmt(8) Lwhence\noffset\n |
| OpenBSD, NetBSD | L (lseek) argument order | OpenBSD and NetBSD document Loffset\nwhence\n, the same order as the illumos rmt. Source: OpenBSD rmt(8) Loffset\nwhence\n; NetBSD rmt(8) Loffset\nwhence\n; Solnix illumos rmt(8) Loffset\nwhence\n |
| FreeBSD, OpenBSD, NetBSD | read size limit | The FreeBSD, OpenBSD and NetBSD pages say an R count larger than the 10 kilobyte data buffer is truncated to that size. The illumos page does not document any limit. Source: FreeBSD rmt(8) Rcount\n; OpenBSD rmt(8) Rcount\n; NetBSD rmt(8) Rcount\n; Solnix illumos rmt(8) Rcount\n |
| OpenBSD | options | OpenBSD rmt takes -r (read-only), -w (write regular files; creates missing files, refuses to open existing ones) and -d directory (confine access to a directory, no slashes in names, symlinks not followed). The illumos rmt synopsis is bare /usr/sbin/rmt with no options.Source: OpenBSD rmt(8) SYNOPSIS, -d, -r, -w; Solnix illumos rmt(8) SYNOPSIS |
| OpenBSD | regular-file use | OpenBSD says rmt may be used for regular file access as well as tape. The illumos page describes only magnetic tape manipulation and says not to use it as a remote file access protocol. Source: OpenBSD rmt(8) DESCRIPTION; Solnix illumos rmt(8) DESCRIPTION, BUGS |
| Linux | intended callers | The GNU page says rmt serves tar(1), cpio(1) and similar tools, reached through rsh(1) or ssh(1). The illumos page says it serves the remote dump and restore programs (ufsdump(8) and ufsrestore(8) in SEE ALSO) and is started by rexec(3SOCKET) or rcmd(3SOCKET). Source: Linux rmt(8) DESCRIPTION; Solnix illumos rmt(8) DESCRIPTION, SEE ALSO |
| FreeBSD, OpenBSD, NetBSD | intended callers and start-up call | The BSD pages name the remote dump and restore programs (rdump(8), rrestore(8)) as callers. FreeBSD starts rmt with rcmd(3). OpenBSD uses rcmd(3) or rcmdsh(3). NetBSD uses rexec(3) or rcmd(3). Source: FreeBSD rmt(8) DESCRIPTION, SEE ALSO; OpenBSD rmt(8) DESCRIPTION; NetBSD rmt(8) DESCRIPTION |
| Linux | error number reference | GNU rmt reports an errno from errno(3) followed by a perror(3)-style message. The illumos page refers to error numbers in Intro(3) and to perror(3C). The E response layout is the same: Eerrno\nmessage\n.Source: Linux rmt(8) DESCRIPTION; Solnix illumos rmt(8) DESCRIPTION |
| Linux | protocol command list not in the GNU page text | The GNU page refers to a following section describing the commands, but the trimmed text in the bundle does not include it. The manual text given here does not show whether GNU rmt's command letters and argument order match illumos. Source: Solnix rmt(8) [gtar] DESCRIPTION; Linux rmt(8) DESCRIPTION |
Standards
- POSIX: rmt is not a POSIX.1-2024 utility.
- Solnix: The published GNU page HISTORY says the rmt command appeared in 4.2BSD. The illumos page in the bundle has no ATTRIBUTES or standards section.
- FreeBSD: HISTORY: the rmt utility appeared in 4.2BSD. No STANDARDS section.
- OpenBSD: HISTORY: the rmt command appeared in 4.2BSD. No STANDARDS section.
- NetBSD: HISTORY: the rmt command appeared in 4.2BSD. No STANDARDS section.
Writing portable scripts
- Do not rely on the L request across systems: FreeBSD documents whence first, while illumos, OpenBSD and NetBSD document offset first.
- Do not send R counts above 10 kilobytes. The BSD pages document truncation to that size; the illumos page does not document the limit.
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.