On Sat, Jul 3, 2021 at 2:10 PM Theodore Ts'o <tytso(a)mit.edu> wrote:
On Sat, Jul 03, 2021 at 11:57:44AM -0600, Warner Losh
wrote:
You mean System V's sar program? BSD has never had a sar program.
It's not in any of the CSRG releases, nor in any of {Free,Net,Open}BSD
systems that are around today.
Ah, I got confused because a web search turned up:
https://www.freebsd.org/cgi/man.cgi?query=sar&sektion=1M&apropos=0&…
.... and I got mislead because FreeBSD hosts Solaris man pages.
Although it appears more recently FreeBSD has "bsdsar" in its Ports.
Huh. I guess 'sa' wasn't good enough, though that also uses a format that
suffers from many of the same deficiencies you point out for 'sar'.
My larger point remains, though; is System V considered "Unix" by Dan
Cross's definition? :-)
Well, with the caveat that I'm pretty sure Dan Cross's definition of Unix
is of interest to an extremely small set of people (possibly the empty
set...), and that any answer is a bit of a meditation on the existential
philosophy of, "really, what _is_ Unix, anyway?" I'll go out on a limb and
say yes.
I don't think that the pervasive use of text formats for logs in much of
the system was ever meant to be to the exclusion of binary formats for
specific applications where that was warranted (usually for efficiency),
which have existed since the near the beginning. Off the top of my head,
representative examples of logging or logging-adjacent binary formats
common on Unix systems and extending into antiquity include utmp/wtmp,
lastlog, the quota database and acct; perhaps even crash dumps and core
files might fall under this overarching umbrella.
Not to mention all of the other ubiquitous binary file formats that've been
floating around seemingly forever: tar/tp/ar/UFS dump, dbm/ndbm, any number
of compressed file formats, and so on. Not to mention the on-disk data
structures describing filesystems and so on. But historically speaking,
logs, whether generated by explicit print statements in programs or by
something like calling `syslog()`, have been text. I suppose the point
being that, while individual use cases might use some binary format, by and
large most systems opted to use text and for many years that was just the
accepted and anticipated course of action. It was the default.
Systemd turns this on it's head. Text isn't just no longer the default,
it's just not an option. Sure, the aforementioned things are similar, but
this is a step beyond.
And note that I didn't say that Linux wasn't Unix because of systemd (or
perhaps more properly, that the Linux distributions that use systemd
weren't Unix), but rather, that systemd itself wasn't very Unixy. I think
that's accurate. Of course with respect for the other binary things you
mentioned (databases and so on) people write all kinds of whacky things for
systems, but those don't define the system. Systemd is much closer to the
"system" than, say Ingres of Oracle or PostgreSQL.
I do think this shift probably started with System V, but it still largely
follows the model of "Unix". And even AIX has syslog.
It's funny...I have no recollection of the mechanism you describe for
Ultrix, and a DECstation 5000/240 was my main machine for a good while.
- Dan C.