I know this bug is closed for two years now, but i think it should be re-opened for reconsideration.
Storing system-specific state data in /lib violates the Principle of least astonishment!
This issue does not only affect users of "etckeeper". When backing up, monitoring, tracking a file system, or migrating a system to a new server, one usually looks for server specific content here:
* /etc /var /home
* Maybe /opt, /usr/local, or /root depending on your habits
If there is any other place that contains data, then only because of some software that i installed and configured, so i should know about it.
OS-level software that stores state data anywhere else is a very unpleasant surprise. /lib/ is the last place i would expect system data in that i might want to migrate to a new server.
I understand that ufw cannot have it's state data in /var because of the mount issue.
But /etc is a perfect place for it. Nowadays /etc is *full* of machine-generated state files that should not be manually edited. E.g. on my system (ubuntu 13.04) i find this in my /etc/resolv.conf:
"# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN"
I suggest to move the ufw state files into /etc/ and prefix them with a "AUTO GENERATED, DO NOT EDIT" disclaimer.
Comparing the two options, i clearly prefer /etc:
* State files in /lib: People might lose their rulesets because they aren't aware they are stored in /lib
* State files in /etc: Stupid people might conciously ignore a bit fat warning and manually edit the ufw state files just because they are in /etc
I know this bug is closed for two years now, but i think it should be re-opened for reconsideration.
Storing system-specific state data in /lib violates the Principle of least astonishment!
This issue does not only affect users of "etckeeper". When backing up, monitoring, tracking a file system, or migrating a system to a new server, one usually looks for server specific content here:
* /etc /var /home
* Maybe /opt, /usr/local, or /root depending on your habits
If there is any other place that contains data, then only because of some software that i installed and configured, so i should know about it.
OS-level software that stores state data anywhere else is a very unpleasant surprise. /lib/ is the last place i would expect system data in that i might want to migrate to a new server.
I understand that ufw cannot have it's state data in /var because of the mount issue.
But /etc is a perfect place for it. Nowadays /etc is *full* of machine-generated state files that should not be manually edited. E.g. on my system (ubuntu 13.04) i find this in my /etc/resolv.conf:
"# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN"
I suggest to move the ufw state files into /etc/ and prefix them with a "AUTO GENERATED, DO NOT EDIT" disclaimer.
Comparing the two options, i clearly prefer /etc:
* State files in /lib: People might lose their rulesets because they aren't aware they are stored in /lib
* State files in /etc: Stupid people might conciously ignore a bit fat warning and manually edit the ufw state files just because they are in /etc