title: Where to store application data (non-user specific) on Linux
body: <p>In my <a href="https://en.wikipedia.org/wiki/OSGi" rel="nofollow noreferrer">OSGi</a>-based Java application I am developing a bundle to provide the rest of the system with access to the file system.  In addition to providing access to the user home directory, I also wish to provide access to a non-user specific area.  Exactly what this area will be used for is as yet undetermined, but it will not be for preferences (handled by a different bundle), however it may be used to store data that could change at runtime.</p>
  <p>I intend on using the following directories for this purpose:</p>
  <ul>
  <li><a href="https://en.wikipedia.org/wiki/Windows_Vista" rel="nofollow noreferrer">Windows Vista</a> and <a href="https://en.wikipedia.org/wiki/Windows_7" rel="nofollow noreferrer">Windows 7</a>: “\ProgramData”.</li>
  <li><a href="https://en.wikipedia.org/wiki/Windows_XP" rel="nofollow noreferrer">Windows XP</a>: “\Documents and Settings\All Users“.</li>
  <li><a href="https://en.wikipedia.org/wiki/Mac_OS_X" rel="nofollow noreferrer">Mac OS X</a>: “/Library/Application Support”.</li>
  </ul>
  <p>Where is a sensible equivalent in Linux and how do I get a handle on it from my Java code?</p>