[fhs-discuss] tighten the use and intention of the "/var" hierarchy

Christoph Anton Mitterer calestyo at scientia.net
Mon May 16 04:09:14 PDT 2011


On Mon, 16 May 2011 06:07:05 +0200, Tollef Fog Heen <tfheen at err.no> wrote:
> | a) This means that nobody uses it.
> No, it does not.  Really, where else do you put stuff such as the
> different web server vhosts you have?
Well e.g. in Debian most people put it under /var/www/<vhost> ... but as
you said /var/www is problematic, but unlike you I'd still would use it for
purely dynamically generated www content.

But when "classifying" data... what's different between vhost's data (e.g.
HTML pages) and database clusters? Or maildirs from a pop3/imap server? Or
the roaster(s) of a XMMP server?

They're all more or less encoded and not clear text (even HTML/mail,
although we developers know it so well that it's just plain data for us).


That's why I've suggested the separation of data based on their
_conceptual_ use as described in the first post of this thread.



> Also, you have not said anything about what problem you're trying to
> solve or why storing this data in /var is a problem.
Well there is of course no real problem we could put everything in /root
and it would still be able to get it working somehow.
But the filehierarchy is about having a reasonable separation of different
classes of files.
And to me it would make the most sense in having someting like what I've
initially proposed:

/var:
- dynamically generated
- purely internally used data (i.e. state data) but not things which are
indirectly used and are actual/precious data (e.g. database server files)
- things that can easily be lost (and regenerated)

/srv
more or less the opposite of /var
- actual precious data


I guess it was you who mentioned before (sorry that I forgot to answer)
that e.g. logs are/might be very important.
I'd say this depends.
If you e.g. have a postgresql server and you can choose what you'd like to
loose, your "data" dir or your server logs,.. you'd probably say,... let's
loose the logs.
If you however have a say firewall log or something security related,..
the logs might be extremely precious data to you.

That saying: The separation between /srv/ and /var should not be written
in stone. It always depends on the specific program.
So e.g. if you have a program whose primarily purpose is logging (e.g.
Ganglia) it could well be, that /srv is the right place for it and not /var
(and perhaps especially not /var/log)

It can even depend on the current processing state of data:
Consider a MTA who receives mail.
Although mails are surely precious, they're volatile/dynamic/temporary
content from the view of an MTA (cause he just want's to relay).
So IMHO postfix would put it's queues in some /var place.
But a pop3/imap server could very well put IMHO in /srv.



Cheers,
Chris.


More information about the fhs-discuss mailing list