I am writing "HOW-TO install and integrate ssh on Mac OS X" ... (Where can I publish it?)

Bob Proulx bob at proulx.com
Sat Dec 6 05:08:59 EST 2003

Sergio Gelato wrote:
> * Scott Burch [2003-12-03 11:26:49 -0600]:
> > As a matter of practice never intermingle your contributed binaries/code
> > with system provided binaries. If you are installing binaries that
> > already exist in the OS then you should place them in their own distinct
> > directory tree (e.g. /opt/local, etc.). If you replace system binaries,
> > then future OS updates will indeed overwrite your changes.
> Seconded, except for /opt/local which should be /usr/local.

Let me vote for the reverse.  I prefer /opt/local.  Here is why.  What
is the purpose of /usr/local?  For locally installed software?  Yes.
But then if I am creating ssh to be installed on several thousand
machines through my company and I put it in /usr/local where is the
local user going to be able to put their version?  You see, using
/usr/local in that case creates a conflict.  You need a third area.

I use /opt/local for binaries such the GNU software which may or may
not have the same name as commands in the vendor's system /usr/bin.  I
leave /usr/local empty for the local user to install their own local
software.  Since my particular vendor does not ship any ssh version I
package and distribute it in /usr/bin.  But if my vendor already had a
version there then I would fall back to /opt/local.

The rule I use is, are you installing on one machine?  If yes then
'./configure && make && make install' which puts it in /usr/local.
But if installing on N machines then package and install it in a
system directory either /usr/bin or /opt/local as appropriate.


More information about the openssh-unix-dev mailing list