This may vary slightly depending on the Unix flavour. I'm assuming Linux here (although this could apply to OSX). According to the Filesystem Hierarchy Standard (FHS) (link obtained from the Linux Standard Base working group):
The /usr/local
hierarchy is for use by the system administrator when
installing software locally. It needs to be safe from being
overwritten when the system software is updated. It may be used for
programs and data that are shareable amongst a group of hosts, but not
found in /usr
.
Locally installed software must be placed within /usr/local
rather
than /usr
unless it is being installed to replace or upgrade software
in /usr
.
/usr/local/bin
is often on the path by default.
Note that you should only put the executable or a link to it in /usr/local/bin
, the rest may have to go in /usr/local/lib
or /usr/local/share
.
The /opt
tree might also be sensible:
/opt
is reserved for the installation of add-on application software
packages.
A package to be installed in /opt must locate its static files in a
separate /opt/<package>
or /opt/<provider>
directory tree, where
<package>
is a name that describes the software package and <provider>
is the provider's LANANA registered name.
[...]
The directories /opt/bin, /opt/doc, /opt/include, /opt/info, /opt/lib,
and /opt/man are reserved for local system administrator use. Packages
may provide "front-end" files intended to be placed in (by linking or
copying) these reserved directories by the local system administrator,
but must function normally in the absence of these reserved
directories.
(You could make your own link from /opt/your-package/bin/executable
into /opt/bin
, and put /opt/bin
on the PATH
if it's not already there.)