For sharing data files and directories among users within the same machine, the /srv
directory was recommended here:
I am assuming this is still valid or recommendded — correct me if that changed.
But what should be the directory for shared development-related software like Java, Maven, Gradle? They will all be installed by unpacking .tar.gz
archives. A central location for programs would be preferred over repeated installations by each user in their respective home directory.
As an example, in order to work with CI like Jenkins I would have installed many JDK versions: 11, 15 and 17, and similarly for Gradle and Maven. These are used to test a project with different environments. The mentioned software packets are installed simply by unpacking the .tar.gz
files and updating the .profile
file with the respective settings for them. And yes, I use these repositories as well to install servers, such as MySQL, RabbitMQ etc ...
Since these software projects are installed by extracting a
.tar.gz
file it sounds like they are self-contained applications and I would install them in/opt/<project>
. Another common choice is/usr/local
, but I prefer that for source based installs.Links
Put it in
/usr/local/
, it is ignored by package managers.