On Tue, Jul 21, 2020 at 2:23 PM <arnold(a)skeeve.com> wrote:
/sbin and /usr/sbin came into being in the late 80s
when Berkeley
and USG were standardizing on file system layouts for diskless
workstations;
Sun and DEC and others were also in on this.
Right, I was part of that discussion. Although the real driver
economically was the ISVs were getting really annoyed and pushing for a
cleaner namespace. *The excuse to compromise was the diskless systems. * I
think I may even have a memo or two from the discussion in a file cabinet.
So was IBM and CMU IIRC. This is before UI or OSF, but was an effort that
was started by the /usr/group folks. Pretty much a similar group behind
Heinz's Standard's committee and what would eventually become POSIX for
IEEE.
Bostic, Jim Issack, Armando, myself, Shannon, are some of the people I
remember at the early meetings. But it was still pretty contentious.
Getting Bostic to come helped a great deal because without CSRG buying in
it was not going to happen.
A few years later (post the first POSIX), UI would fund Locus to do the
SPEC 1170 study, finding 1170 different interfaces in Unix that an ISV had
to deal with to make code portable. But IIRC, that worked started before
the big UI vs. OSF battle but completed after it started.
/sbin specifically was meant to hold the executables meant for use by
root that previously had been in /etc along with config files.
(sbin ==> super-user bin.)
Right... (and a few random strays from /lib if I remember on a couple of
systems)
The idea was that /etc held things specific to a box, while /bin, /sbin,
/usr could be remote mounted from a server. This is also when /home
came into practice as the place to hold home directories.
I offer a slight rewording but agree with intention ...
{/usr,}/etc was supposed to be databases that customized the node itself
and changed infrequently.
{/usr,}/lib was stuff that was also mostly readonly, but did not need
customization.
{/usr,}/sbin was supposed to be binaries that only an admin needs
{/usr,}/bin was simple binaries needed to boot the system
{/usr,}/opt was supposed to be were ISV's installed things [IMHO: to bad
not enough people use(s) it].
/var was introduced to remove the stuff that was mostly in /usr/spool or
/usr/lib to a place for things that were systems specific and updated. As
opposed to {/usr,}/tmp which was supposed to be clearly scratch space and
shared.
Using /usr or not, was a concession to UCB left over from the original
Research namespace split leftover from RK05's being 2.5M.
By then user directories were all over the place, often in /u1 /u2 /u3,
etc... And nobody could agree to what to do. If my memory serves me it was
someone like Pat Parsigiean that suggested a whole new name and /home was
born.