On 7/27/07, Curt, WE7U
On Fri, 27 Jul 2007, Greg Freemyer wrote:
A) create there own directory / partition / mount point in the root if there is going to be a lot of data. This is particularly true if it is gone to be a main function of the computer.
"A" above is not considered good practice, at least not from what I've seen.
/data, /GIS-info, /source-code-for-our-teams-mega-application etc.
However, one can create application-specific directories in /opt, and in fact the LSB spec requires it. I work on an open-source app that normally installs to /usr/local/* directories, including it's system-wide configs in /usr/local/share/<app-name>/*. In it's LSB form it installs to /opt/<app-name>/* instead.
So your saying that if an application is data intensive; lets say a GIS system (Geographic Information System), you would put a TB of data under /opt/GIS/data. Maybe your right, but in "my experience" large datasets get put in the root. Basically large datasets are almost always put on a dedicated partition / LV in my experience. And in turn those partitions are mounted at the root level. FYI: Much of my experience with this class of app is UNIX, not Linux, so maybe the Linux philosophy is different, but I really have a hard time imagining large datasets mounted anywhere but the root.
B) if there is not going to be enough data to justify that, I believe most Linux apps are using /var/lib/<appname>
Depends. If they're distributed with the OS they sometimes do that.
If they're not part of the OS, they usually install into /usr/local/* instead so that they're separate from any OS files.
If you're creating your own application, separate from any OS distribution, consider putting it in /usr/local or /opt. As an example, the app I spoke of installs into one or the other of these heirarchies. The first is the default, the 2nd is if you compile it as a Linux Standard Base package (LSB):
/usr/local/bin/ (executables) /usr/local/lib/<app-name>/ (scripts) /usr/local/share/<app-name>/ (configs, maps, sound files, etc) /usr/local/share/doc/<app-name>/ (README's, INSTALL's, FAQ, LICENSE) /usr/local/man/man1/ (man pages)
My impression is that /usr as a whole is meant to hold fairly stable data. So if the applications data is fairly stable than /usr/local certainly makes a lot of sense.
-or-
/opt/<app-name>/bin/ (executables) /opt/<app-name>/lib/<app-name>/ (scripts) /opt/<app-name>/share/<app-name>/ (configs, maps, sound files, etc) /opt/<app-name>/doc/<app-name>/ (README's, INSTALL's, FAQ, LICENSE) /opt/<app-name>/man/man1/ (man pages)
I notice the Opensuse 10.2 also has /var/opt/gnome. Never noticed that before. As a guess, at least a few developers convinced Suse that /var/opt was the best place for a /opt application to store its dynamic data. Maybe that is the best choice of all. Certainly makes more sense to me than /var/lib which has never made sense to me. Greg -- Greg Freemyer The Norcross Group Forensics for the 21st Century --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-programming+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming+help@opensuse.org