[conspire] fyi: Understanding the bin, sbin, usr/bin , usr/sbin split

Nick Moffitt nick at zork.net
Thu Feb 2 15:05:17 PST 2012

Rick Moen:
> /opt ?  Best made to be a symlink to /usr/local/opt, of course.
> (And then never used, if possible.)

Well, /opt was for a long time the GNU ghetto on proprietary unixes.  It
was an optional parallel universe of system utilities and core
libraries, bolted on as a bag of freedom on the side.

By the late 90s /opt had already taken on more of the connotation as the
proprietary software ghetto on GNU systems.  Oracle dumped itself in
/opt, and so did a lot of other big bolt-on apps for hefty Unix systems.
So I like to look at /opt as a field I'm proud to leave fallow for as
long as possible.

That said, I think that the complaints against making initrds
self-sufficient are largely coming from people who don't trust distro
kernel packages.  If we really do move to "everything you need is in the
initrd" as a model, this stuff will get automated away via dpkg triggers
and grub management scripts.  Complaining about it is like complaining
about software installation in the era of apt and dpkg.  Let the
computer keep track of that work for you, bro.

What I find more interesting is the lore that /sbin was created to store
static copies of critical binaries during a time when dynamic linking
was still experimental and error-prone.  We now think of it as "sysadmin
binaries" and the FHS codifies this somewhat, but legend has it that
there used to be full copies of ls and sh and so forth in there.

Matthew Garrett pointed out in https://lwn.net/Articles/477534/
> The / and /usr divide artificially split the platform in two, without
> any clear semantics as to which subset of functionality you can
> actually depend on. The world has got more complicated than it was
> when the worst case was /usr being on an NFS server connected by
> ethernet. Something has to change.

This final statement leaves him a lot of room to maneuver.  Pottering
has proposed a solution, but Garrett just identified a problem.  It
seems like Lennart would be the more constructive one in that situation,
but he hasn't made his case in a way that convinces people yet.  He
needs to define the problem he intends to solve a little better, or it
will just seem like yet another thing that he wants to rewrite from

Linux isn't going to be plan9, ditching the idiotic socket API for a
clean Unix-like TCP-files interface.  It's not going to be OSX, moving
everything into /Programs and /Users and /Configuration directories.  We
can dream of cutting ourselves free of the giant boat anchor that is
POSIX, but we'd have to convince a lot more people of the benefit and
work out the migration steps.

Personally, I think it's a really minimal subset of people who still
keep /usr on a separate filesystem from /.  It's pretty niche, these
days, and a bit retro.  

"If you carefully examine the intercal package (which
was not available for a month despite emails about it
being a 404), you will discover that . is in ESR's
PATH."   -- Joey Hess

More information about the conspire mailing list