On Fri, Apr 24, 2015 at 6:15 PM, Sampsa Laine <sampsa at mac.com> wrote:
hy they put binaries in /etc, I always thought that
was a config
directory, now the name makes sense: /etc = random stuff goes here since we
don't have /sbin yet :P
?/etc goes back to very early Unix (at least 5th edition). Ken put things
that only an admin would need in there. At it was in the PATH of root
typically.
/sbin is >>static<< bin not systems bin and it's very late in Unix
development (i.e. it came from the Summit guys in the mid 1980s, not
research). It was created when unix started to support shared libraries it
needed to split bin in the stuff needed before sharing and statically
linked (typically systems stuff)? vs. stuff that could be shipped with a
shared library. Difference between ed and ex/vi.
Shared libs came very late to UNIX. To give Summit (and Columbus) credit,
it was definitely there by system V and I don't remember it in PWB 3.0 (aka
System 3.0 when it got "branded" by Summit). PWB 4.0 never left the Bell
System it may have had it but I've forgotten and I do not have an PWB 4.0
docs. By the time Summit picked up the other BTL changes you got the
System V.
Also /bin <-> /usr/bin split was left over from the RK05 (2.5Mbyte) disk
and also very early in Unix - certainly was in Research 6th, and I've
forgotten if it was in 5th.
So in the old days of Research (and later BSD) you had:
/bin <-- mortal user programs that would exist before anything was
mounted (ed, ls, kept to a minimum..)
/etc <-- binaries and configuration files and script - used for booting,
system maintenance and like (mount, umount, the password file ,,)
/usr/bin <-- mortal programs but might not need until after running
multi-user (init had only 2 states -- single user or multi-user) all the
other programs from section 1 that were not in /bin
This allowed you to balance the space needed.
/lib and /usr/lib has similar beginnings. /lib contain libc.a, the
compiler itself, cpp front end and not much else. Everything was put in
/usr/bin
Funny, to this day I still in terms of /bin and /lib being very small and
only limited in what is there.
In fact, their was an early attempt at what we now called the union file
system to try to bring directories like these be "visible" as a single
directory in one the UNIX - again IIRC that the Columbus guys. Berkeley
later added it in BSD 4.4 although it was buggy for a long time and really
did not come into being until the VFS layer/file system switch comes about
in the late 1980s.