which installation path for your local application (Was Re: Files listed twice question)

[email protected] Mon, 29 Sep 2008 09:12:07 -0500
Newsgroups gmane.linux.redhat.rpm.general
Message-ID <OF477303F8.15E8E4BB-ON862574D3.004BAAB1-862574D3.004E0353@uscmail.uscourts.gov>
> > %files
> > /usr/local/myAppTopDir/
>
> Just a question - any reason in particular why you are using /usr/local
> instead of /opt ?
>
> /usr/local is suppose to be for applications compiled from source on the
> machine, /opt is for third party vendor packages (be they rpm or tarball
> or whatever)
>

Before I start, this is my interpretation of what I've read.  I'm open to
being convinced otherwise, this is just what I've gathered over time. Okay,
and go:

This isn't really a third party vendor package if its his.  In that case
its a local package that he is just packaging it for easy distribution on
his own systems.  Packaging the application for easy internal deployment
does not change it from locally installed software to third party software.
I'm not saying /opt is not an acceptable location, but at the same time
/usr/local/ is just as acceptable.  Per the FHS:

"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. " [1]

"/opt is reserved for the installation of add-on application software
packages. " [2]

If one was to hold true that anything not provided by the OS belongs in
/opt, then one could argue that all of EPEL should be configured for /opt,
and back in Fedora Extras days, all of Extras should have been in /opt.

When installing into /usr/local/ you do need to make sure that your
application is not writing back to anything in that directory space.

-greg



[1] http://www.pathname.com/fhs/pub/fhs-2.3.html#USRLOCALLOCALHIERARCHY
[2]
http://www.pathname.com/fhs/pub/fhs-2.3.html#OPTADDONAPPLICATIONSOFTWAREPACKAGES