[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ifupdown writes to /etc... a bug?

Please add '/etc/run' to the list of suggestions.

Anthony DeRobertis wrote:
> [...] (FHS 2.2, Section 2, Paragraph 2)
> /etc/volatile breaks that.
> /run doesn't.
> With /run, we can finally have an /etc which is actually all
> static configuration data.

Putting runtime state files in /etc/volatile would not violate
the requirement set out in the FHS passage (repeated below).
The requirement set out there is that files be grouped in the
hierarchy to reflect the type of data they contain.  This
requirement is met just as well by putting runtime state files
in /etc/volatile as it is met by putting them in /run.

Your reasoning seems to be that if runtime state files are put
in /etc/volatile, then /etc will be heterogeneous because it
will contain (not only static files but also) state files
under its "volatile" subdirectory.  But it can't be the
intent of the passage to rule out that sort of heterogeneity.
On the contrary, it says that the subdirectories of a given
directory may contain files with different characteristics
from the other files in the directory.  This is the case
when the subdirectory is the mount point for a filesystem
with different characteristics.  Remember that /etc/volatile
would be a different filesystem on some systems.

The "characteristics" relevant to this discussion are not
only shareability and variability, but also availability
independently of networking.

/etc/volatile or /run?

Introducing a new subdirectory into /etc instead of /
has the great advantage of not putting Debian in conflict
with the current FHS.

      /etc contains configuration files and
      directories that are specific to the
      current system. [FHS 3.4]

      ... introducing a new subdirectory of the root
      filesystem is prohibited ...  [FHS 3]

The reason '/run' was suggested as the name of the proposed
directory was that the directory serves the same purpose as
/var/run: it "contains system information data describing
the system since it was booted".  It differs only in being
available independently of networking.   That reason still
holds for the name 'run'.

So, instead of '/etc/volatile' I suggest the name '/etc/run'.
/etc is the directory for configuration files specific to
the current system and available independently of networking;
the run subdirectory contains the subset that describes the
system since it was booted.

Anthony DeRobertis wrote:
> "It is possible to define two independent categories of files:
> shareable vs. unshareable and variable vs. static. There should
> be a simple and easily understandable mapping from directories
> to the type of data they contain: directories may be mount
> points for other filesystems with different characteristics
> from the filesystem on which they are mounted." (FHS 2.2,
> Section 2, Paragraph 2)[0]

Thomas Hood <jdthood0@yahoo.co.uk>

Reply to: