Where to install custom apps and data following FHS

Sarge asked:

This is something that has always confused me. Where do I install custom apps that are written by my team? Apps like report runners, queue->database writers, etc. i.e. the apps that are the reason the node exists in the first place. These apps have binaries (released by the application team periodically), variable data and configuration.

The FHS seems to suggest either /srv for “site-specific data served by this system” (FHS 2.3, p15) or /opt for “add-on application software packages” (FHS 2.3, p12) (with configuration in /etc/opt).

The Chef Ark cookbook would put the software into /usr/local/.

The SBT Native Packager would put the software into /usr/share.

So what is recommended? Is it different between Ubuntu and Centos (I use both).

My answer:

/opt is generally meant for large packages provided by third party vendors (Oracle or whatever).

/usr/share is just wrong.

/usr/local is meant for local applications, as the name suggests.

View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.