[TUHS] [tuhs] The Unix shell: a 50-year view

Theodore Ts'o tytso at mit.edu
Sun Jul 4 03:37:06 AEST 2021


On Sat, Jul 03, 2021 at 09:20:57AM -0400, Dan Cross wrote:
> 
> Systemd is both good and bad.

I agree with most of what you assess as "good" and "bad" with systemd.
However...

> It uses ersatz data formats that are abjectly
> horrible. It uses binary logging, which means that one cannot use the full
> complement of Unix text filters to inspect logs....

To be fair, systemd isn't the first.  BSD's sar program uses a binary
log file.

I'm not sure whether it's BSD's fault or only after it was pulled into
the systat package for Linux, but the binary format for the sar file
is (a) not self-describing, (b) not backwards compatible, and (c) not
stable between different versions, such that if you copy /var/log/sa/saNN
the files from one system and try to interpret it on another system, you
need to make sure that other system has the same version of sar installed.

This can be a headache if you are trying to debug an enterprise system
which is using a seven-year-old version of RHEL, and your laptop is
running something a bit more modern.

Things like Ingres also came out of Berkely, and modern databases all
use binary format files.  Is anything running a database, whether it
be Ingress, Postgres, Oracle Enterprise Database, DB2, no longer "Unix"?

And then there's AIX, which uses binary config files which are
manipulated using "smit", and mixes per-machine specific configs with
more general configs, all in a single config (or should I say,
"registry") file, so $DEITY help you if you try to copy the smit
database from one system to another if you are trying to do some kind
of large scale administration setup.  And granted there are many
people would dispute whether AIX is actually "Unix", it technically
speaking qualified to use the "Unix"(tm) trademark.

Similarly, Digital Equipment Corpartion's Ultrix used a binary log
file which you had to transmogrify using the uerf ("Ultrix Error
Report Formatter").  Like systemd, Ultrix uses a structured logging so
you can pull out specific types of logs, and Ultrix's uerf works much
systemd's journalctl.

So the concept of using binary logs and binary files predates systemd,
and there are more than a few examples that can be found in historical
systems that most people would have no trouble calling "Unix", and
even qualify for the Unix(tm) trademark.

					- Ted

P.S. For the most part, Linux systems don't qualify for the Unix(tm)
trademark, although it's not clear most people care about that these
days.  (A long time ago distributions paid $$$ to Posix Compliance
labs, probably because the government procurement requirements
required Unix(tm) systems, much like OSI stacks were simlarly required
by government procurement requirements.)




More information about the TUHS mailing list