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

Re: /usr/local stuff [Was Editor and sensible-editor]



In article <[🔎] 6yogidn9zp.fsf@sodium.transmeta.com> you write:
>Julian Gilbey <J.D.Gilbey@qmw.ac.uk> writes:
>
>> Interesting points.  However I would suggest that most of the files in
>> /etc are about local configurations, and are, in general, not
>> shareable.  In fact, the FHS defines /etc as being for non-shareable,
>
>You need to be careful about using the word "share" in the context of
>FHS.  /usr/share is shareable data -- shareable between machines of
>different architectures.
>
>/etc is machine specific, which is something else.  The hierarchy is
>*also* not shareable between machines because applications are not
>required to guarantee that configuration information can be shared.
>For example, try sharing your network configuration or hostname.

However, a large number of files in /etc *are* sharable.

For example (please correct me if I am wrong):
/etc/Muttrc
/etc/a2ps.cfg
/etc/adduser.conf
/etc/csh.cshrc
/etc/csh.login
/etc/csh.logout
/etc/cvs.conf
/etc/cvsdeb.conf
/etc/dupload.conf
/etc/apt/*
/etc/hosts (this is a special case is it can be shared by other means, eg NIS)
list truncated - it is too long.

Maybe there should be a proper place for sharable config files?????

Actually, I think it might be easier to classify sharable files in /etc
for listing files that can't be shared. Here is a list. I probably
have made errors.

/etc/dhcpd.conf
/etc/exports
/etc/fstab
/etc/group
/etc/gshadow
/etc/hostname
/etc/hosts.allow
/etc/inetd.conf
/etc/ld.so.cache
/etc/ld.so.conf
/etc/lilo.conf
/etc/mailname
/etc/named.boot@
/etc/named.conf
/etc/passwd
/etc/shadow

>/etc is intended to be the only repository for configuration
>information.  It is machine specific.  However, machine-specific does
>not mean that the configuration information in /etc cannot be shared
>between machines.  This can be done via symbolic links, rdist, or even
>some weird overlay filesystem.

This can be rather complicated. Do you want to manually go through
each file under /etc and place symbolic links for each one that can
be shared, and then keep it up-to-date as you upgrade and change
packages???

>We actually used to have a /usr/etc (...)
>directory, but they were not used much, if at all, and tended to be an
>annoyance.

Thats a pity - it is one of the major issues I have with my diskless
package I am working on - it is so difficult to determine
a) what files are sharable and can be copied to every /etc.
b) what files are not sharable and not even required.
c) what files are not sharable but are required (eg have to be
generated automatically).

This is a problem for both /etc and /var (/usr isn't a problem as the
entire structure can be NFS exported and shared).

At the moment, I have a complex set of rules for what to do with each
file, however that can never be complete, and must be continuously
updated for every package that is to be supported. ie there is no
algorithm to map each file into class {a,b,c} without hardcoding the
list of specific filenames, which is prone to error and/or change.

-- 
Brian May <bam@snoopy.apana.org.au>

Attachment: pgplqxsBn0HO8.pgp
Description: PGP signature


Reply to: