Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 May 2003 13:54:47 +0200
From:      Stijn Hoop <stijn@win.tue.nl>
To:        collins <erichey2@attbi.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: /usr/local/bin and so forth
Message-ID:  <20030508115447.GE657@pcwin002.win.tue.nl>
In-Reply-To: <20030508054622.66b3bac7.erichey2@attbi.com>
References:  <20030508054622.66b3bac7.erichey2@attbi.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--BI5RvnYi6R4T2M87
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, May 08, 2003 at 05:46:22AM -0600, collins wrote:
> Coming from a linux background (gentoo distro), I find it strange to
> find all sorts of crap in /usr/local/bin.

It's not 'random crap', it should contain only what you installed using
ports or packages.

> I'm used to find all standard software in /usr/bin (or certain binary
> packages in /opt) and to find /usr/local/bin reserved for stuff added
> by the local administrator.

Arguably this is a shortcoming of the default setup for FreeBSD -- there
is no such place until you create one (eg, you can create /opt for truly
local software, but it's your own decision).

However, there are a few 'standard' solutions:

1)	set PREFIX and LOCALBASE in /etc/make.conf to something other than
	/usr/local (the default). I wouldn't try /usr/bin, in case you
	overwrite some base system component, but /opt would be
	good. 99% of the ports will then automatically install into this
	directory. The drawback is that you will have to recompile all
	currently installed ports, and binary packages will still install
	into /usr/local.

2)	turn your truly local software into a port or package. It's not
	very hard to do this, see pkg_create(1) and the porters handbook.
	This is my preferred way, everything I create can be tracked
	using the standard tools, and I can even put my port skeletons
	in CVS and upgrade very easily (see sysutils/portupgrade).

> 1. What's the rationale behind this for freebsd?

I think it's historical. Personally I think it's a good thing that ports and
package installs do not go into /usr/bin etc -- FreeBSD's strength is that =
it
has a completely usable system out of the box, and everything in /usr/bin is
by definition part of the base system. Use those in scripts and be sure to
find them on the next FreeBSD machine.

> 2. Where does one (as a standard) put truly local scripts, etc. so it
> won't get confused with all the stuff in /usr/local/bin?

See above.

HTH,

--Stijn

--=20
"What kind of a two-bit operation are they running out of this treehouse,
 Cooper? I have seen some slipshod backwater burgs, but this place takes the
 cake."
		-- Special Agent Albert Rosenfield, "Twin Peaks"

--BI5RvnYi6R4T2M87
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (FreeBSD)

iD8DBQE+ukWHY3r/tLQmfWcRAnqqAKCxMPfvXjjSyYfydQFeP7TQlB9MfQCffoRa
+lUuM6HHUX+P1z1gSRxrT6c=
=riKo
-----END PGP SIGNATURE-----

--BI5RvnYi6R4T2M87--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030508115447.GE657>