Configuration management goal
Hi,
i've just subscribed to -policy but I read some mails in the archive about
configuration management. The configuration management thread has started
with the need of a non-interactive installation process, I believe.
We are now talking about a big registry containing the informations needed
for the installation.
I think we have jumped over a step : the configuration is managed in the
postinst script. But most package does not clearly separate
post-installation from configuration. And this difference should really
exist. If I want to install a package but not to configure it, I generally
can't. To understand that, I must explain what configuration means for me :
configuration is all the job that is needed in order that the program will
do what he is intented to, this includes all calls to update-rc.d, all
calls to update-inetd and all interactive questions...
A package that is not configured should not be run at startup and should not
"work" in a standalone way (if the user execute it from a shell that's ok).
And to explain better the difference beetween post-installation and
configuration, here's an example : I maintain a package for
a mailing-list manager, and here's what's the post-installation :
- create a dedicated user/group for the ML manager
- chown/chgrp all files to this new user/group
- create some symlinks (optionnal)
And the configuration would be :
- create the aliases for the bot
- create a syslog.conf entry via syslog-facility (my program use syslog
LOCALx facilities for his logs)
- call update-rc.d for launching at boot
(- start it right now)
That's why I think that policy should ask developers to pay special attention
to what's belong to post-installation and what's the configuration.
And this will allow for installing without configuring. My intent was to try
to install packages non-interactively and to copy a /etc directory from
a model machine. (think to people without a local network that can't
just do an rdist).
This should work if all config files are *really* stored in /etc... after
that the only problem is that packages remain unconfigured for dpkg even
if they aren't. I know that this method will probably not work because
there will be numerous problem but I think, it should work and we need
to progress in that direction so that in a future day it will be
possible...
I hope that my explications are clear enough so that some people may be able
to understand me. :)
And last but not least, this does really not conflict with the idea
of a registry for installations informations but makes it easier to know
when configuration happens and what it should do.
Cheers,
--
Hertzog Raphaël ¤ 0C4CABF1 ¤ http://www.mygale.org/~hra/
Reply to: