On Sat, Jul 3, 2021 at 2:10 PM Theodore Ts'o <tytso@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&manpath=SunOS+5.8

.... 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.