[lug] System configuration files

Zan Lynx zlynx at acm.org
Tue Jul 29 14:16:08 MDT 2003

Don't use /var for configuration files.  /var is for changing data
files.  /etc is the place for configuration data.  /etc is like the
Registry in Windows.

I like programs that use /etc/<package> for their files.

Many packages use autoconf.  You can configure where they put their
configuration files by using the options to ./configure.  When you build
the package, try ./configure --help first and see what options you have.

When you build a lot of packages, you'll probably want to create a
configure shell script so you don't need to repeat all your options each

On Tue, 2003-07-29 at 14:04, Jeff Schroeder wrote:
> Hey all!
> I've rolled my own Linux distribution, basically by compiling all the 
> software packages I need from their source code, and as I continue 
> developing this distro I find myself running into problems with system 
> configuration files.
> For example, if you want to configure Apache you need to modify 
> httpd.conf, which is usually in /var/httpd/conf (or maybe 
> /usr/local/httpd/conf, or even /opt/apache/conf).  MySQL's main 
> configuration file is usually in /usr/local/var/my.cnf.  An FTP server 
> relies on /etc/ftpaccess.  And so on, and so on.
> I'd like to bring all these configuration files into one place, where 
> they can be easily managed by simply going into a subdirectory with the 
> application name and editing the appropriate files.  Obviously one 
> would still need some understanding of the file formats and so on, but 
> it would certainly save one from needing to know the disparate 
> locations of all these files.
> My initial thought was to place everything in /etc/conf/<package>, but 
> in reading the Filesystem Hierarchy Standard-- which applies to Unix 
> and Linux systems-- it seems a more logical choice would be somewhere 
> in /var.  However, there's no indication (at least in the FHS) of this 
> sort of idea, so I thought I'd toss it to the collective brainpower of 
> the LUG.
> My idea, then, is to build a directory structure where software 
> configuration files are in /var/conf/<package>, thus:
> /var/conf/apache
> /var/conf/mysql
> /var/conf/wu-ftpd
> Et cetera.  Within those directories would be all the configuration 
> files; note this does NOT include log files, PID/lock files, and other 
> runtime-generated data... ONLY the configuration.  More than likely 
> these directories would only be accessible to the super-user.  If a 
> particular program expects its configuration file in a certain place, 
> there would simply be a symlink back to the /var/conf area.
> As an important side note, moving all configuration files to one place 
> would allow the /usr (and possibly root) partition to be read-only, 
> which is often considered a Good Thing.  In fact, one could imagine a 
> system where only /home and /var are writeable at all.  Moreover, 
> backing up the entire system's configuration would involve dumping a 
> single directory-- making it trivial to replicate systems or take 
> measures to avoid catastrophe.
> What do you guys think?  Are there any "mainstream" Linux distros out 
> there which utilize something like this?  Am I breaking any religious 
> rules by (apparently) defining my own filesystem structure?  Is there a 
> Better Way?
> TIA,
> Jeff
> _______________________________________________
> Web Page:  http://lug.boulder.co.us
> Mailing List: http://lists.lug.boulder.co.us/mailman/listinfo/lug
> Join us on IRC: lug.boulder.co.us port=6667 channel=#colug
Zan Lynx <zlynx at acm.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.lug.boulder.co.us/pipermail/lug/attachments/20030729/9923ecec/attachment.pgp>

More information about the LUG mailing list