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

mass-installing Debian



I've been thinking a bit about the need for mass-installations.  Having
done a few of them, it gets to be a tad tedious ...

Currently, the preinst and postinst scripts ask the user questions, and
make changes according to the responses.  Instead of that, we need a
general service script that processes a package-specific file containing
questions and answer-variables.  The results of this get appended to
an installation response file that each package can source to retrieve
the answers it needs.  Hrmm, got that ?

For example, exim would use a file :

exim-user-info

which would contain things like : (excuse the poor examples :)

;========================================
<exim-domain-name>
What is the domain name of this system ?
</exim-domain-name>

<exim-smarthost>
What is the smarthost (if any) used ?
</exim-smarthost>

<exim-relay-domains>
Which (if any) domains will you allow relaying for ?
</exim-relay-domains>
;========================================

and so on.  The actual variable definitions can be anything, I just used
html-style as an example ...

The general service script would parse this, looking for a file named
<package>-user-info, and ask the user each of the questions in the file.
The responses would go into the installation wide "install-response"
file, like this :

;========================================
#!/bin/sh

exim-domain=mydomain.org
exim-smart-host=smtp.my-isp.com
exim-relay-domains="buddydomain.com otherfriend.com"
;========================================

Now during installation, the exim preinst and postinst scripts would
source the install-response file, creating the variables with the
responses they need.  At this point, it's just as if they've asked the
questions and retrieved the user responses.  If a particular response
variable doesn't exist in the install-response file, the script can
still prompt just like normal, though this ruins the effect.

Where dselect has the list of packages to be installed and is waiting for
the user to select "Install", it can run the service script to pre-ask
all the config questions.  Once that's done, run the normal install
and the user can walk away.

Even better is combining this with a pre-selected list of packages and
a pre-built install-response file.

Heh heh, the mechanics of all this is an exercise left to the reader :)

--
Dean Carpenter
deano@areyes.com
dean.carpenter@transamerica.com
dean.carpenter@pharma.com


Reply to: