[Toybox] off-topic: /sbin --- "static" or "system"

Rob Landley rob at landley.net
Thu May 31 10:36:14 PDT 2018


On 05/30/2018 09:39 PM, enh wrote:
> do you have a canonical reference to the first unix with an /sbin?
(tl;dr: I think it stands for "system binaries" but can't track down a primary
reference just now, other than things like
https://www.freebsd.org/cgi/man.cgi?query=hier&sektion=7 that call it that
today. The below is probably only of interest if you _also_ have a computer
history hobby. :)

Um, yes but not necessarily with me. I'm in Milwaukee for work, which means the
University of Texas's copies of the Proceedings of the History of Programming
Languages conferences (HOPL and HOPL II) aren't easily available, nor are books
like my copy of Peter Salus's "a quarter century of Unix"...

A lot of early unix history is on Dennis Ritche's home page though, which bell
labs has kept online in his memory:

  https://www.bell-labs.com/usr/dmr/www/notes.html

> the question came up of what the "s" originally stood for. i'd always
> believed "static" because that's what the old-timers told me when i
> first came across unix in 1993. finding the first unix with /sbin
> might lead to a proper answer.

I thought it stood for "system"?

Hmmm... Context: I thought BSD added dynamic linking for unix binaries (as
opposed to "B" programs, which had a /lib/libb.a but were compiled to bytecode
and then interpreted), which means "static" couldn't have happened before 1975,
and I _think_ they did it for their vax port which would place it 1979 or later?
Ken taught his students Unix version 6 (hence the Lyons book being based on
that), and managed to ship v7 to the outside world before the Apple vs Franklin
decision extended copyright to cover binaries in 1983. (Bell Labs went on to
create all the way to Unix v10 before starting over with Plan 9, but none of it
never shipped outside the lab because of AT&T's IP lockdown so nobody cared.)

So the question is, did /sbin show up before dynamic linking?

Sigh. I used to just email Dennis Ritchie about this sort of thing when he was
alive. That was much easier. (Heck, his _phone_number_ wasw on his web page. He
answered once! Wouldn't commit to coming to Penguicon though.)

  http://lkml.iu.edu/hypermail/linux/kernel/0207.2/1182.html

(Ken Thompson's still alive but he hasn't posted public contact info, so I
haven't wanted to bother him. Last time I interacted with him was while editing
The Art of Unix program 15 years ago, which was being cc'd on email
conversations between him and Eric Raymond and reading physical mail. And Doug
McIlroy was a guest at the Ohio Linuxfest where they were celebrating the 40th
anniversary of Unix and I sat next to him at dinner before he gave his keynote.
Really cool guy. He might know. :)

You know computer history's a hobby of mine, right? :)

  https://landley.net/history/mirror

> since a post on the busybox list came up on my attempts to search for
> the answer, i thought i'd ask...

Having just googled for it myself, I'm guessing
https://www.pixelstech.net/article/1477109665-Unix-directory-hierarchy-history ?
(It's always really frustrating when I google for something and get referred
back to myself.)

That post went viral on hacker news and such more than once after I wrote it.
The systemd guys wound up referencing it. I was asked to turn it into a real
article with proper sourcing was for a magazine:

  https://landley.net/writing/hackermonthly-issue022-pg33.pdf

And that links to two sources... neither of which are relevant here. :P

Finding /sbin, Let's see: /sbin wasn't in the original 1971 version, just /bin.
Both mount and init lived in /etc
(https://www.bell-labs.com/usr/dmr/www/manintro.pdf)... The Unix v7 manual circa
1979 (http://web.cuzuco.com/~cuzuco/v7/v7vol1.pdf) has everything still in /bin.
(Why do I suspect /sbin was introduced by Sun and retroactively adopted by
others? Darn it, too tenuous to remember a source for that other than "some old
mirrored page of old solaris documentation when I was tracking down the history
of ibcs2 while doing that _month_ of research to produce the SCO rebuttal ala
http://www.catb.org/esr/halloween/halloween9.html which links to lotsa stuff but
does not contain the string 'sbin' and would take an hour to re-read...)

Ok, reference for BSD (2BSD?) introducing dynamic linking for C programs: unix
v6 did _not_ have it, or at least its description of the a.out format is static
only (http://man.cat-v.org/unix-6th/5/a.out) so let's look at some BSD sources.

Maybe https://www.oreilly.com/openbook/opensources/book/kirkmck.html ? No,
doesn't seem to mention it. (I met Kirk at Ohio Linuxfest in 2013. Also a cool
guy.) How about https://www.salon.com/2000/05/16/chapter_2_part_one/ Hmmm...
still no. (It's really fun reading that one with "where wizards stay up late",
they tell two sides of the same story. But not as much as the Ken Olsen
smithsonian interview on that mirror site and steven Levy's book "hackers", or
reading the 4 versions of the invention of the 4004 chip from
hoff/moore/fagin/shima I have together on my history mirror. Sorry, tangent.)

Where I _remember_ reading this is a physical book at Barnes and Noble in
Austin, which was a history of BSD by the BSD guys. (Demon on the cover and
everything... The one Pixar's CEO drew for them back in his college days... "The
design and implementation of BSD." Has a history section saying what showed up
in each version. And if I have a copy it would be in Austin.)

If it _is_ early sun history, maybe
http://www.blinkenlights.com/classiccmp/javaorigin.html mentions it? (Or am I
thinking of /opt? I could be thinking of /opt. Unfortunately the old sun pages
died when oratroll chewed up sun's corpse.)

I should just ask Doug McIlroy. I think he's still a professor at Dartmouth?

Rob



More information about the Toybox mailing list