Debian unattended installation?
[Please cc replies to this message to me, since I'm not subscribed
to deity or dpkg-maint. Thanks.]
I've been talking to various people about the Debian installation
process recently, and regularly met demand for an _unattended_
installation process. I'd be willing to participate in designing
and implementing such an installation process.
What I'm thinking about is essentially a separation between the
package configuration step (i.e., moving a package from
unpapackagecked to installed state) and any user interaction.
From installation experience, there are three kinds of user
interaction we get:
- Configuration-related questions. They are asked all over the
place. With most packages, the user has to answer a few questions
which are independent of each other. In this case, all you need
is some kind of definition file and a generic question asker. If
configuration questions are interdependent (does this ever
happen?), a short script should be used. User interaction should
be abstracted, so a line-based, curses, or even X11 interface can
be used with the same script.
Information gathered this way should be stored in some kind of
database. Normally, a small tree of files (one file per package,
somewhere in /etc) should be sufficient. But once again, these
files shouldn't be accessed directly from postinst scripts.
Instead, a generic interface to access this database should be
defined, so answers could be fetched from other sources. (For
instance, sites with a centralized setup process could chose to
distribute configuration information over an ldap server.)
- Questions about what to do with configuration files when
upgrading. This is a package manager problem. In this case, user
interaction should be centralized in the end of the configuration
- General messages, like "you may need to reboot the system later,
please press enter". These messages should be collected in a log
file which should be presented to the user in one piece in the
_end_ of the installation and configuration process.
Do you think implementing this with Debian would be possible, from
the management point of view? (Note that the proposed model would
imply changes to the policy.)