Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 May 2020 19:20:03 -0600
From:      Bob Proulx <>
Subject:   Re: On a serious note, what I'd change about FreeBSD hier(7)
Message-ID:  <>
In-Reply-To: <>
References:  <> <> <> <>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
Steve O'Hara-Smith wrote:
> Ottavio Caruso wrote:
> > Polytropon wrote:
> > > FreeBSD's general organisation keeps all non-OS stuff stored
> > > in /usr/local; the directories owned by the OS have a specific
> > > purpose which is reflected by their name and location
> > 
> > I'd pretty much want to have all non-base stuff into somewhere else
> > than /usr/local.
> 	Why ? /usr/local is explicitly for non-base stuff so what would go
> in there ?

What would go in /usr/local would be locally compiled applications
that are outside of the base system, outside of the ports system, and
are purely locally compiled from source programs.  And anything else
the local admin wanted to put there.

> > I like NetBSD installing ports in /usr/pkg (or
> > whenever you want set your $PREFIX to). I'd rather have /usr/local for
> > my own personal software and avoid it messing up with official ports.
> 	Why fight the system when you could just have /usr/personal
> or /site or /opt or something for your own stuff without changing existing
> conventions.

FreeBSD is the odd one out here in using /usr/local for system uses.
In other systems, and I grew up on HP-UX, SunOS, old BSD, and so
forth, have always reserved /usr/local for the local admin to

Using most from-source software the default install location is most
typically /usr/local and therefore out of the box unless you fight
with the upstream source locations (fighting with upstream really
means overriding the default, I only said fighting because you did)
then "make install" will typically install to /usr/local, potentially
overwriting components from FreeBSD.

Therefore on FreeBSD I use /local for those things.  Which is
defensible as perhaps being a better location.  However to avoid
potentially overwriting something in /usr/local I must reconfigure
upstream source to avoid it each and every time.


Want to link to this message? Use this URL: <>