inetadm(8) on Solnix vs Linux and the BSDs
inetadm is the illumos command at /usr/sbin/inetadm for listing, enabling, disabling and changing the properties of inetd-managed SMF services. The BSD inetd(8) pages describe the inetd daemon itself, configured through /etc/inetd.conf and command-line flags, so the same letters (-d, -l, -p) mean different things.
The manual pages
- Solnix: inetadm(8) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: systemctl(1) systemd-260.5 (different command, similar job)
- FreeBSD: inetd(8) 15.1-RELEASE (different command, similar job)
- OpenBSD: inetd(8) 8.0 (different command, similar job)
- NetBSD: inetd(8) 11.0 (different command, similar job)
What Solnix runs
A default Solnix system runs the illumos inetadm at /usr/sbin/inetadm, published in pkgs.solnix.illumos-world-man. No other variants are shipped. The allowed name=value property names are documented in the illumos inetd(8) page, which is not in this bundle. SMF and FMRIs are described in smf(7).
Differences
| Compared with | Topic | What differs |
|---|---|---|
| FreeBSD, OpenBSD, NetBSD | tool vs daemon | Solnix inetadm is an administration client for services that inetd(8) manages under SMF. FreeBSD, OpenBSD and NetBSD inetd(8) is the super-server daemon, which reads its services from a configuration file. The BSD pages describe no separate admin command. Source: Solnix inetadm(8) DESCRIPTION; FreeBSD inetd(8) DESCRIPTION; OpenBSD inetd(8) DESCRIPTION; NetBSD inetd(8) DESCRIPTION |
| FreeBSD, OpenBSD, NetBSD | -d meaning | inetadm -d disables the named service instances. On FreeBSD, OpenBSD and NetBSD, inetd -d turns on debugging. NetBSD -d also keeps inetd in the foreground. Do not copy inetd flags onto inetadm.Source: Solnix inetadm(8) -d; FreeBSD inetd(8) -d; OpenBSD inetd(8) -d; NetBSD inetd(8) -d |
| FreeBSD, NetBSD | -l meaning | inetadm -l lists all properties of the given service instances. FreeBSD inetd -l logs successful connections. NetBSD inetd -l turns on libwrap connection logging.Source: Solnix inetadm(8) -l; FreeBSD inetd(8) -l; NetBSD inetd(8) -l |
| FreeBSD | -p meaning | inetadm -p lists the default inet service property values as name=value pairs. FreeBSD inetd -p names an alternate file in which to store the process ID.Source: Solnix inetadm(8) -p; FreeBSD inetd(8) -p |
| FreeBSD, OpenBSD, NetBSD | where service definitions live | On the BSDs each service is a line in /etc/inetd.conf (by default), with fixed positional fields: service name, socket type, protocol, wait/nowait, user, program, arguments. The inetadm page names no such file. It reads and writes properties of SMF service instances, addressed by FMRI or pattern.Source: FreeBSD inetd(8) DESCRIPTION; OpenBSD inetd(8) DESCRIPTION; NetBSD inetd(8) DESCRIPTION; Solnix inetadm(8) SYNOPSIS, OPTIONS |
| FreeBSD, OpenBSD, NetBSD | enable and disable | inetadm -e and -d enable or disable instances by FMRI or pattern. The visible BSD inetd text has no enable/disable flags and says only that a # at the start of a line marks a comment. The manuals do not describe a per-service switch.Source: Solnix inetadm(8) -e, -d; FreeBSD inetd(8) OPTIONS; OpenBSD inetd(8) OPTIONS; NetBSD inetd(8) OPTIONS |
| FreeBSD | default limits | FreeBSD sets default limits with inetd flags: -C, -c, -s, -R. Per-service overrides go in the wait/nowait field. On Solnix, inetadm -M changes inetd default properties and -m changes instance properties. Writing name= with no value drops an instance value and restores the default.Source: Solnix inetadm(8) -m, -M; FreeBSD inetd(8) -C, -c, -R, -s |
| Linux | Linux equivalent | The Linux counterpart is systemctl, which controls all systemd units and not just inetd-style services. Filter by unit type with -t/--type, for example socket or service. inetadm has no type filter. It lists only services under inetd control.Source: Linux systemctl(1) DESCRIPTION, -t, --type; Solnix inetadm(8) DESCRIPTION |
| Linux | showing properties | inetadm -l prints all properties of an instance, and marks values inherited from inetd defaults with (default). systemctl show prints unit properties, and -p limits the output to named properties. The two use different property sets.Source: Solnix inetadm(8) -l; Linux systemctl(1) -p, --property |
| all four | ambiguous operands and exit status | If an FMRI names a service with several instances, or a pattern matches several, inetadm warns and ignores that operand. Exit status is 0 on success, 1 on a fatal error, 2 on invalid arguments such as an ambiguous FMRI or pattern. The visible BSD inetd text documents no exit statuses. Source: Solnix inetadm(8) OPTIONS, EXIT STATUS; FreeBSD/OpenBSD/NetBSD inetd(8) DESCRIPTION |
Everyday tasks
| Task | Solnix | Linux | FreeBSD | OpenBSD | NetBSD |
|---|---|---|---|---|---|
| list inetd-controlled services and state | inetadm | systemctl list-units --type=socket | — | — | — |
| enable a service | inetadm -e FMRI | — | edit /etc/inetd.conf | edit /etc/inetd.conf | edit /etc/inetd.conf |
| disable a service | inetadm -d FMRI | — | edit /etc/inetd.conf | edit /etc/inetd.conf | edit /etc/inetd.conf |
| show a service's properties | inetadm -l FMRI | systemctl show -p property unit | — | — | — |
| change a service's property | inetadm -m FMRI name=value | — | edit the service line in /etc/inetd.conf | edit the service line in /etc/inetd.conf | edit the service line in /etc/inetd.conf |
| show or change inetd-wide defaults | inetadm -p / inetadm -M name=value | — | inetd flags -C, -c, -R, -s | inetd -R rate | — |
Standards
- POSIX: inetadm is not a POSIX.1-2024 utility.
- Solnix: Interface Stability: Evolving.
Writing portable scripts
- Do not script inetadm and inetd flags interchangeably.
-d,-land-pmean disable, list and list defaults in inetadm, but debug, log and pid file (FreeBSD) in inetd. - Detect the platform first (inetadm, systemctl, or an
/etc/inetd.confto edit) before changing a network service's state.
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.