makekey(1) on Solnix vs Linux and the BSDs

On Solnix, makekey is the illumos /usr/lib/makekey. It reads 8 key bytes and 2 salt bytes from standard input and prints a 13-character result. It is not on PATH, and the manual page is in section 1, while NetBSD documents it in section 8.

What Solnix runs

A default Solnix system runs the illumos makekey, installed as /usr/lib/makekey. It is not in /usr/bin, /usr/sbin or /sbin, so call it by full path. No other variants are shipped. The page is published by pkgs.solnix.illumos-world-man.

Differences

Compared withTopicWhat differs
NetBSDinstall path and manual sectionSolnix documents makekey(1) with the synopsis /usr/lib/makekey, so it is run by full path. NetBSD documents makekey(8) with the synopsis plain makekey. The NetBSD page does not say where the binary is installed.
Source: Solnix makekey(1) SYNOPSIS; NetBSD makekey(8) SYNOPSIS
Linux, FreeBSD, OpenBSDno counterpart pageThe bundle has no makekey page for Linux, FreeBSD or OpenBSD. The manual does not say whether the command exists there, so a script should not assume it does.
Source: Bundle header (only a NetBSD counterpart is listed)
NetBSDoutput formatSolnix documents the output: the two salt characters repeated first, then 11 characters chosen from digits, '.', '/', and upper- and lower-case letters. The NetBSD page defers the format to crypt(3) and does not describe it.
Source: Solnix makekey(1) DESCRIPTION; NetBSD makekey(8) DESCRIPTION
NetBSDalgorithm descriptionThe Solnix page describes a DES-based scheme in which the salt selects one of 4,096 machines. The NetBSD page only points to crypt(3) for how the value is calculated. The two may not produce the same output, and the manual does not say.
Source: Solnix makekey(1) DESCRIPTION (third paragraph); NetBSD makekey(8) DESCRIPTION
NetBSDinput handlingSolnix says makekey attempts to read 8 key bytes and then 2 salt bytes, and that the key can be arbitrary ASCII characters. NetBSD says the key is expected to be eight bytes and the salt two bytes, and refers to crypt(3) for the allowed characters.
Source: Solnix makekey(1) DESCRIPTION; NetBSD makekey(8) DESCRIPTION
NetBSDterminal versus file inputThe Solnix page warns that results can differ depending on whether input is typed at the terminal or redirected from a file. The NetBSD page has no such warning. Feed makekey from a pipe or file, as the Solnix page recommends for programs.
Source: Solnix makekey(1) NOTES, DESCRIPTION (last paragraph); NetBSD makekey(8) DESCRIPTION
NetBSDoptions and historyNeither page documents any options. The NetBSD page records that makekey appeared in Version 7 AT&T UNIX. The Solnix page has no HISTORY section.
Source: Solnix makekey(1) SYNOPSIS; NetBSD makekey(8) SYNOPSIS, HISTORY

Standards

  • POSIX: makekey is not a POSIX.1-2024 utility.
  • Solnix: The Solnix page has no STANDARDS or ATTRIBUTES section.
  • NetBSD: The NetBSD page has no STANDARDS section. Its HISTORY says a makekey command appeared in Version 7 AT&T UNIX.

Writing portable scripts

  • Do not depend on makekey in portable scripts. The bundle documents it only for Solnix (/usr/lib/makekey) and NetBSD, and the two pages do not say their output is identical.
  • Call it by full path on Solnix (/usr/lib/makekey), and pipe the 10 input bytes in instead of typing them at a terminal.

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.