[NTLUG:Discuss] Sysadmin type question: Where should programs go?
Steve Baker
sjbaker1 at airmail.net
Sat May 7 13:45:29 CDT 2005
There are standards out there - but not everyone (including the big name
distro makers) follows them.
The Linux Standards Base recommends this document to describe what files
go into what places:
http://www.pathname.com/fhs/pub/fhs-2.3.html
That document says:
/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.
...and also...
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.
I'm not sure this helps.
:-(
The problem is that the definition of 'add-on' is none too clear here. I would
personally have said that everything that did not come delivered with your distro
is an 'add-on' - but that's an annoying distinction. As far as anyone trying to
find a particular file is concerned, you really don't care whether the package
was a part of the distro or added on later - that's just at the whim of the
distro builders. It doesn't help me that some program I want came with SuSE 9.3
(and therefore it's in /usr/local) - but because it didn't come with Gentoo and
is therefore an add-on, it'll be in /opt on those systems.
But that definition is clearly not what distro makers adhere to because a vanilla
install of SuSE (for example) leaves half a dozen packages installed in /opt that
fail my definition of 'add-on'.
Personally, I install everything that's used only locally on *this* PC into /usr/local
and everything that's shared between computers that use this PC as a server into
/usr/share. That makes it easy to set up user search paths and to decide what
partitions to export and mount. I never put anything into /opt because it seems
redundant. /usr/bin, /usr/sbin and /bin I leave strictly alone.
---------------------------- Steve Baker -------------------------
HomeEmail: <sjbaker1 at airmail.net> WorkEmail: <sjbaker at link.com>
HomePage : http://www.sjbaker.org
Projects : http://plib.sf.net http://tuxaqfh.sf.net
http://tuxkart.sf.net http://prettypoly.sf.net
-----BEGIN GEEK CODE BLOCK-----
GCS d-- s:+ a+ C++++$ UL+++$ P--- L++++$ E--- W+++ N o+ K? w--- !O M-
V-- PS++ PE- Y-- PGP-- t+ 5 X R+++ tv b++ DI++ D G+ e++ h--(-) r+++ y++++
-----END GEEK CODE BLOCK-----
More information about the Discuss
mailing list