Program data folders in Linux

9.7k views Asked by At

This is a more general and noob question. I am developing a small application in Linux (Ubuntu, to be more precise) and at this point I have an executable, a shared library (.so), a configuration file (.conf) with some settings to be read by the application at the beginning, a data folder with images and other resources to be used during the application life-time (resources that can be also modified, deleted) and of course, I would need some file for logs and messages (right now I am using syslog).

So, my question is, where should each one of these be stored when the application is installed on a client's computer? What is the standard way of organizing all the application's files in Linux? On Windows everything would be found usually in the C:\Program Files\(App Folder) but it looks like on Linux things are more (or less) organized. Can you give me some advices on this matter?

2

There are 2 answers

3
Basilevs On BEST ANSWER

Program data were historically stored in dot-prefixed folders in user's home directory. Modern Linux distributions tends to use ~/.config/program_name folder.

For all files that will not be modified after distibution follow Linux standard:

0
sankar suriya On

Ex: project dir: ABC sub directories:

logs - keep log files conf - keep configuration files here bin - executable binaries here traps - any trap mesg

then depend on what application we develop

Along with you can set level for starting your application from boot level if required.