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

Re: Large scale installations of debian



> Hi,
> 
> I'm working on a system for doing semi-automatic Debian installations (code 
> name: deblab). It's more of a hack than an elegant solution but it works
> for us (tm) in our department (Debian on Sparc, Alpha and i386, different
> package lists for terminal and server).

Will this become fully automatic??

> Let me lay out the basic ideas:
> 
> * Install the base system via the usual installation mediums; that's the 
>   reason why I call it semi-automatic; I'll take a look at the shell script
>   Massimo Dal Zotto posted about some weeks ago to automate the first step too

Good.
Can we make this work with dhcp too??

> * after the reboot you skip the profiles and the dselect step and log in as
>   root
> * get the autoinstallation tarball via ftp or nfs

Why a tar-ball?? Why not a deb-package?  

> * the following installation is done in three phases which are executed by a 
>   simple bash script:
> 
> 1. configure apt and install some necessary packages (I use cfengine and 
>    expect as installation engines)

How are they defined?

> 2. invoke cfengine to do some preinstallation e.g. install /etc/exim.conf 
>    (exim skips the postinst if it finds a valid exim.conf), /etc/gpm.conf
>    and similar cases
> 3. set the packages to install via dpkg --set-selections
> 4. start the installation via an expect-script which runs apt-get and answers
>    the questions according to its data 

How do you create the "data"???

> 5. invoke cfengine to do the postinstallation (copying site-wide master 
>    configuration files); e.g. hosts, hosts.allow, XF86Config, autofs, etc.
> 6. Voila, done ;-)
> 
> Several drawbacks:
> 
> - I didn't scan all installation scripts for interaction; I automated the 
>   scripts from the packages we use; potential users should give me feedback
>   which scripts are missing
> - If it takes more than 8 minutes between two Setting up lines the expect
>   script assumes that we are hanging because of a user interaction which 
>   isn't automated yet and will give the keyboard control back to the user
>   to answer the question; on slow machines this timeout is too short for 
>   example when compiling the emacs calc package; after completing the user
>   interaction expect resumes automatic mode
> - it's not general enough yet and probably very fragile
> 
> What are the configuration files ?
> You need templates for some of your config files like exim.conf, most config
> files will be site-wide the same. You need a reference package list,
> a simple text database of the answers for the expect script and a cfengine
> configuration for later maintenance. 
> 
> I'll test the setup today and tomorrow in our department and could put
> together a Debian package over the weekend if somebody is interested.
> Note however that you should regard the package as an alpha thingie.
> But perhaps we can get it in a more general usable state 'til the release
> of potato.

This sounds like a good start.  I do belive however that there should be
some changes in the format of the debian-package to make it work 
non-interactive.  I do belive that all scripts that are in install or 
uninstall should be able to run uninteractive if asked to!

/Erik


-- 
Erik Bågfors               | http://www.acc.umu.se/~bagfors/
Email: bagfors@pdc.kth.se  | Center for Parallel Computers
GSM +46 70 398 54 43       | Supporter of free software


Reply to: