[fhs-discuss] Split home directory for each user into two parts
Randy Kramer
rhkramer at gmail.com
Thu May 5 04:26:21 PDT 2011
I'm just going to state this without very much support at first. I
haven't looked in bugzilla to see if this is already there.
I think it would help lots of people (obviously, myself) if the ~
directory for each user was split into two parts. (This could be done
in a variety of ways, more below.)
The basic idea is to get rid of the hidden files. One way or another,
the hidden (often configuration) files and the non-hidden files (often
what I will call "real user data") files should be split into separate
directories so that, for the most part, there is no longer a need to
use hidden files. (Still, hidden files may have uses--my objective
isn't to get rid of hidden files per se, but to split the ~ directory.)
Where ever the hidden files end up, they should become non-hidden files.
There are various ways the directories could be named and split,
including:
* /home/<user>/data
* /home/<user>/config
or
* /home/<user>
* /<user>
or
* /home/<user>
* /data/<user>
or
* /home/<user>
* /config/<user>
etc.
With some of those options, the user data could be put in either of the
two directories, with the config data in the other. In other options,
the names make it obvious where which type of data should go.
I have a soft spot for the second option, as that is what I do today
(and for the last 9 years).
There are other relevant things that should be discussed:
* discussion of a migration path, not so much for the files (maybe
that too), but for programs that anticipate their data or configuration
files being located (or put) in one place or another. Perhaps soft
links should be included in the standard to keep older programs working
until they are modified
* perhaps a third directory should be considered as well--although
I've had this idea in the past, and would have preferred it, at the
moment the other classification of files is slightly vague (I'm old,
what can I say)--I'm thinking of programs that keep databases (or files
of data) that aren't really the user directly accesses or would think
of as "his", but data that the program uses for its purposes (which,
obviously, is, in the end, for the user. I think one distinguishing
characteristic of this data is that it can be recreated from other
data, thus it doesn't desperately need to be backed up.
Rationales:
* make it easier for the user to backup (and restore, and manipulate)
just the data he wants
* re the above, on an upgrade or installation of a new distro, the
user almost certainly wants to keep his "real user data", but may want
to let the new system write new configuration data. Hence, he would
move his configuration data somewhere else so that he can selectively
restore any that he might want to later. (Without trying to figure out
how to use commands selectively on hidden and non-hidden files.)
* overall, although the intent is not to completely get rid of hidden
files, the intent is to make the need to know about and know how to
manipulate them much less important, which would be a benefit
especially for new users
Consider this a first draft--I'm hoping that others will see the value
of this, especially for newbies to Linux, and will help flesh out
this "proposal" with additional details to be addressed, and better
wording.
Randy Kramer
More information about the fhs-discuss
mailing list