vacation(1) on Solnix vs Linux and the BSDs
On Solnix, vacation is the illumos /usr/bin/vacation. Run with no arguments it is an interactive installer that creates .vacation.msg and .forward. The reply interval is set with -t, which accepts s, m, h, d and w suffixes. FreeBSD ignores -t and uses -r, and OpenBSD has no -t.
The manual pages
- Solnix: vacation(1) from
pkgs.solnix.illumos-world-man· illumos.org - FreeBSD: vacation(1) 15.1-RELEASE
- OpenBSD: vacation(1) 8.0
- NetBSD: vacation(1) 11.0
What Solnix runs
A default Solnix system runs the illumos vacation at /usr/bin/vacation. /usr/ucb/vacation is also shipped, but the bundle does not describe it. The page is published in pkgs.solnix.illumos-world-man.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| all four | interactive installer | Solnix vacation with no arguments starts an installer. It creates .vacation.msg, opens VISUAL, EDITOR or vi(1), and creates .forward if there is none. If a .forward exists, it asks whether to remove it, which disables vacation. The BSD pages describe no installer: you edit .forward and run vacation -i yourself.Source: Solnix vacation(1) DESCRIPTION, Installation; FreeBSD vacation(1) -i; OpenBSD vacation(1) -i; NetBSD vacation(1) -i |
| FreeBSD, OpenBSD, NetBSD | reply interval option | Solnix sets the interval with -tN, default 1 week, with a suffix s, m, h, d or w. FreeBSD and OpenBSD use -r in days. FreeBSD documents -t as ignored, kept only for compatibility with Sun's vacation. NetBSD accepts both -r and -t, with the same suffixes as Solnix and days as the plain unit.Source: Solnix vacation(1) -tN; FreeBSD vacation(1) -r, -t; OpenBSD vacation(1) -r; NetBSD vacation(1) -r, -t |
| FreeBSD, OpenBSD, NetBSD | where options go | On Solnix, -a, -e, -f, -j, -m, -s and -t are meant for the .forward line, not the command line. FreeBSD says -d, -i, -I, -l and -x belong only on the command line. FreeBSD says -r should only be used when the database is initialized.Source: Solnix vacation(1) OPTIONS; FreeBSD vacation(1) -d, -i, -l, -r, -x |
| FreeBSD, OpenBSD, NetBSD | -I and -i initialization | Solnix documents only -I. It clears the sender list, enables vacation, and bare vacation is the installer. FreeBSD and NetBSD accept -i and -I as equivalent. OpenBSD documents only -i. The Solnix synopsis has no -i.Source: Solnix vacation(1) SYNOPSIS, -I; FreeBSD vacation(1) -i, -I; NetBSD vacation(1) -i, -I; OpenBSD vacation(1) -i |
| FreeBSD, NetBSD | -d meaning | Solnix vacation has no -d. On FreeBSD, -d sends errors and debug messages to stderr instead of syslog. On NetBSD, -d turns on debugging and prints the reply on stdout without sending it.Source: Solnix vacation(1) SYNOPSIS; FreeBSD vacation(1) -d; NetBSD vacation(1) -d |
| FreeBSD, OpenBSD, NetBSD | -l listing | Solnix and FreeBSD have -l to list replied-to addresses with a time. Solnix lists replies since the last vacation -I. The OpenBSD and NetBSD pages document no -l.Source: Solnix vacation(1) -l; FreeBSD vacation(1) -l; OpenBSD vacation(1) SYNOPSIS; NetBSD vacation(1) SYNOPSIS |
| FreeBSD, OpenBSD, NetBSD | database files | Solnix creates .vacation.pag and .vacation.dir. OpenBSD and NetBSD name .vacation.db. FreeBSD names .vacation.db or .vacation.{dir,pag}. -f means a base name on Solnix, a path relative to ~ on FreeBSD unless it starts with /, and a prefix with .db appended on NetBSD. OpenBSD has no -f.Source: Solnix vacation(1) Installation, -f; FreeBSD vacation(1) -f; OpenBSD vacation(1) DESCRIPTION; NetBSD vacation(1) -f |
| FreeBSD, OpenBSD, NetBSD | -j, -s, -m support | Solnix, FreeBSD and NetBSD document -j (skip the To:/Cc: check) and -s (reply address). OpenBSD has neither. Solnix -m takes a path relative to ~ and says it should be on the same partition as ~/.forward. FreeBSD allows an absolute path.Source: Solnix vacation(1) -j, -s, -m; FreeBSD vacation(1) -j, -s, -m; NetBSD vacation(1) -j, -s; OpenBSD vacation(1) SYNOPSIS |
| FreeBSD, OpenBSD, NetBSD | sender filtering | Solnix reads an optional .vacation.filter (or -e file) of domains and addresses, some negated with !. The first match decides, and no match means no reply. FreeBSD instead has -x, which reads an exclusion list from stdin. OpenBSD and NetBSD document neither.Source: Solnix vacation(1) -e, USAGE; FreeBSD vacation(1) -x; OpenBSD vacation(1) SYNOPSIS; NetBSD vacation(1) SYNOPSIS |
| FreeBSD, OpenBSD, NetBSD | suppression rules | Solnix documents no reply for To:/Cc: not matching, -REQUEST@ senders, Precedence bulk or junk, postmaster and Mailer-Daemon. FreeBSD, OpenBSD and NetBSD also skip Precedence: list and Auto-Submitted other than no. FreeBSD and OpenBSD also skip List-Id. The Solnix page does not say it checks these.Source: Solnix vacation(1) USAGE; FreeBSD vacation(1) DESCRIPTION; OpenBSD vacation(1) DESCRIPTION; NetBSD vacation(1) DESCRIPTION |
| FreeBSD, NetBSD | extra options not on Solnix | FreeBSD adds -C (sendmail.cf path), -R (envelope sender), -U (no password-file lookup) and -z (null sender). NetBSD adds -F (extra From-source headers) and -T (extra To-source headers, flagged in BUGS for non-compliant MTAs). Solnix has none of these.Source: FreeBSD vacation(1) -C, -R, -U, -z; NetBSD vacation(1) -F, -T, BUGS; Solnix vacation(1) SYNOPSIS |
| FreeBSD, OpenBSD, NetBSD | error logging | The BSD pages say fatal errors, such as bad arguments or unknown logins, go to syslog. The Solnix page does not say where errors go. Source: FreeBSD vacation(1) -d; OpenBSD vacation(1) DESCRIPTION; NetBSD vacation(1) DESCRIPTION; Solnix vacation(1) |
Standards
- POSIX: vacation is not a POSIX.1-2024 utility.
Writing portable scripts
- Do not script the reply interval:
-tNon Solnix,-rdays on FreeBSD and OpenBSD, and-ror-ton NetBSD. FreeBSD ignores-t. - In .forward, keep to
-aalias and the login name. Initialize the database per system: bare vacation or-Ion Solnix,-ion the BSDs.
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.