below...
On Fri, Dec 23, 2016 at 5:27 AM, Joerg Schilling <schily(a)schily.net> wrote:
Diomidis Spinellis <dds(a)aueb.gr> wrote:
On 23/12/2016 04:28, Doug McIlroy wrote:
Does
anyone remember whether at the time these were installed in the
system-wide /bin directory,
Those that I remember were in /usr/bin.
So was "/usr/bin" initially only for user-contributed binaries, or was
it from its inception a place for binaries that were not essential for
system boot and could not fit in the root partition?
From the talk from Stephen Bourne around 1990 at the Sun User Group
meeting,
/usr/bin started with user contributed binaries only.
Later the directory was aquired by the system after many of the user
contributed programs have been integrated into UNIX.
Right - that follows what I had been told. So /usr/local (for locally
compiled) and /usr/ucb (to differentiate from Research programs) were
introduced, which worked when UNIX was a source release.
Many makefiles in USENIX tapes use the /usr/local convention for new
programs but it failed to deal with binary distributions from ISV's
At that time people started to use /usr/local and in order to interrupt
this
chain of bad naming, /opt/<vendor>/bin has been introduced.
Almost right --- This was one of the things the /usr/group gave us. IIRC
it was Heinz Lyclamia that proposed it BTW. Before IEEE P1003 (aka POSIX)
the burgeoning industry folks started to talk about how to deal with the
plethora of almost, but not quite the same UNIX flavors. The 1985
/usr/group API was the result (which would begat POSIX but that's a
different story).
Heinz was the pushing an ABI not an API. He was sure UNIX would never be
able to compete with VMS or the like and get ISV's to the table without
one. Two of the things he insisted that we consider was where to install
vendors code and /usr/opt/vendor was born (** /opt would come later **).
It was put in /usr because symlink did not yet exist AND people agreed that
the root file system should be as small as possible.
Clem