On Sat, Mar 18, 2023 at 04:21:24PM +0000, segaloco via TUHS wrote:
Do Linux providers even know the POSIX standard exists? No I don't
expect them to go pay for certification but geeze, the amount of
times in the past few years I've propped up a random distro on a
machine or VM and been unable to rely on even the most basic stuff
being there is disheartening. No wonder people don't use Linux in
the UNIX-y way so often, half the darn system isn't represented in
most Linux base installs. Is this the LSBs fault or does nobody look
at that anymore either? My experiences recently say not...
The Linux Standard Base has largely been abandoned --- none of the
major Linux companies were willing to pay their engineers to spend
time working on it. (It was one of those things that really only
mattered to people who were selling software to enterprises, and the
*reason* why companies spent $$$ paying engineers to work on LSB and
going to ISO meetings was so that enterprise softare vendors could
more easily ship product that would work equally well on Red Hat
Enterprise Linux and SuSE Enterprise Linux.)
But even when LSB was around (Debian is dropping LSB support in the
next release), it was generally not installed by default and was *not*
part of the base install. If you installed the LSB package, it would
drag in all of the userspace utilities and libraries needed to provide
POSIX.1 and POSIX.2 conformance.
One of the reasons why users prefer a very small base install is
because if they are trying to install on small systems (such as
Rasberry PI), or if they are using container systems (e.g., Docker),
they want to keep the base system as small as possible. And there are
utilities like uuencode and uudecode, which while required by POSIX.2,
in reality, the most users for most Linux distributions don't use, so
it's not installed by default. If you want it, you can always install
the sharutils package.
Finally, I'll note that what Posix.2 requires has changed over time.
For example uucp used to be required for POSIX.2 compliance. It no
longer is required. In addition, POSIX.2 has withdrawn tools like
banner and chroot, and they will be withdrawing calendar, col, cpio,
pg, spell, sum, and other utilities in the next revisions of the
standard.
Complaining about what is the default seems to me to rather pointless.
And if you are going to insist on complaining aobut it, what about
Solaris? The default Solaris install didn't come with cc or fort77
installed, even though they are required by POSIX.2. You had to pay
$$$ to get an optional package if you wanted those tools, and Solaris
was still considered "Unix" since it was descended from AT&T code, and
they didn't need to present their system for POSIX compliance before
being able to use the "Unix" trademark. (And if they did, they would
presumably just state in their conformance document that you had to
pay $$$ for a copy of Sun Studio.)
And I can assure you that Sun Microsystems knew about POSIX. They
just chose to not include everything required by POSIX.2 in their
default install.
- Ted