cksum(1) on Solnix vs Linux and the BSDs
On Solnix, cksum is the illumos /usr/bin/cksum. It takes no options, only file operands, and writes the POSIX CRC, the octet count and the file name. Linux, OpenBSD and NetBSD cksum can also compute other digests and verify checksum lists, and Solnix cannot.
The manual pages
- Solnix: cksum(1) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: cksum(1) coreutils-full-9.11
- FreeBSD: cksum(1) 15.1-RELEASE
- OpenBSD: cksum(1) 8.0
- NetBSD: cksum(1) 11.0
- Standard: POSIX.1-2024 (IEEE Std 1003.1-2024),
cksum
What Solnix runs
A default Solnix system runs the illumos cksum at /usr/bin/cksum. No other variants are shipped. The page's SEE ALSO lists digest(1) and sum(1), but the bundle does not describe them.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux, OpenBSD, NetBSD | no algorithm selection | Solnix cksum has only the CRC algorithm and no options. Linux has -a/--algorithm, OpenBSD has -a algorithms, and NetBSD has -a algorithm to select other digests such as md5 and sha1.Source: Solnix cksum(1) SYNOPSIS (cksum [file]...); Linux cksum(1) -a; OpenBSD cksum(1) -a; NetBSD cksum(1) -a |
| Linux, OpenBSD, NetBSD | no verify mode | Solnix cksum cannot check files against a list of checksums. Linux and OpenBSD have -c, and NetBSD has -c [sumfile]. Linux also has --check, --status, --quiet and --strict.Source: Solnix cksum(1) SYNOPSIS; Linux cksum(1) -c, --status, --quiet, --strict; OpenBSD cksum(1) -c; NetBSD cksum(1) -c |
| Linux | output format | Solnix writes "%u %d %s\n" (checksum, octet count, path name) for the CRC. The Linux page says --tag, a BSD-style tagged line, is the default format, and --untagged gives the reversed style. The Linux page does not show the exact default CRC line.Source: Solnix cksum(1) DESCRIPTION; Linux cksum(1) --tag, --untagged, DIGEST |
| OpenBSD | output for other algorithms | OpenBSD prints the CRC as three fields (checksum, octets, name), like Solnix. With any other algorithm it prints four fields, e.g. algorithm, (file), =, hash. Solnix has no other algorithm. Source: OpenBSD cksum(1) DESCRIPTION; Solnix cksum(1) DESCRIPTION |
| FreeBSD, NetBSD | -o historic algorithms | FreeBSD and NetBSD cksum -o 1 or -o 2 selects historic sum algorithms. These report size in blocks, 1024-byte for algorithm 1 and 512-byte for algorithm 2. Solnix has no -o. FreeBSD -o also accepts 3, the 32-bit CRC.Source: FreeBSD cksum(1) -o; NetBSD cksum(1) -o; Solnix cksum(1) SYNOPSIS |
| FreeBSD, NetBSD | sum on the same page | FreeBSD and NetBSD document sum on the cksum page. It is cksum defaulting to historic algorithm 1. On Solnix, sum(1) is only named in SEE ALSO, and the bundle does not describe it. Source: FreeBSD cksum(1) DESCRIPTION; NetBSD cksum(1) DESCRIPTION; Solnix cksum(1) SEE ALSO |
| OpenBSD, NetBSD | -p, -q, -s, -t, -x flags | OpenBSD and NetBSD cksum accept -p, -q, -s string, -t and -x (NetBSD applies them only to digest algorithms). Solnix accepts none. -s checksums a string given on the command line.Source: OpenBSD cksum(1) -p, -q, -s, -t, -x; NetBSD cksum(1) -p, -q, -s, -t, -x; Solnix cksum(1) SYNOPSIS |
| Linux | standard input operand | Linux cksum reads standard input with no FILE or when FILE is -. Solnix reads standard input only when no file operand is given, and the page does not document - as an operand. Source: Linux cksum(1) DESCRIPTION; Solnix cksum(1) OPERANDS |
| all four | CRC definition | Solnix, FreeBSD, OpenBSD and NetBSD all describe the same default CRC based on the Ethernet polynomial. The Linux page says only that the default is the 32 bit CRC algorithm. Source: Solnix cksum(1) DESCRIPTION; FreeBSD cksum(1) DESCRIPTION; OpenBSD cksum(1) DESCRIPTION; NetBSD cksum(1) DESCRIPTION; Linux cksum(1) DESCRIPTION |
| OpenBSD | integrity warning | The OpenBSD page warns not to use the cksum or md5 algorithms to verify file integrity. The Solnix page says a CRC comparison is not cryptographically secure and that deliberate deception is difficult but probably not impossible. Source: OpenBSD cksum(1) CAVEATS; Solnix cksum(1) USAGE |
| all four | large files | The Solnix page refers to largefile(7) for files of 2 Gbyte (2^31 bytes) or more. None of the counterpart pages in the bundle describe a file size limit. Source: Solnix cksum(1) USAGE; Linux, FreeBSD, OpenBSD and NetBSD cksum(1) |
Standards
- POSIX: cksum is a POSIX.1-2024 utility.
- Solnix: Interface Stability: Standard.
- FreeBSD: The cksum utility is expected to conform to IEEE Std 1003.2-1992 (“POSIX.2”).
- OpenBSD: The cksum utility is compliant with the IEEE Std 1003.1-2008 (“POSIX.1”) specification. All the flags are extensions to that specification.
Writing portable scripts
- Call cksum with only file operands or standard input and read the first two fields (CRC, octet count). Every system's default CRC output starts that way, though Linux's
--tagdefault format is not shown in its page. - Do not use cksum to verify integrity against an attacker. Use a cryptographic digest tool instead, and check which tool each system provides.
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.