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

Re: automating debconf



On Sun, 18 Feb 2001, Craig Sanders wrote:

> hmmm. that could be a problem. mostly what i need to be able to do is
> to use a for loop around a script which connects to a remote machine
> with ssh and either makes configuration changes or runs apt-get to
> upgrade/install/remove packages from the system. the general procedure
> is that i do the job manually on one or two of the systems then i write
> a little script to do it on all the rest (i hate doing repetitive work
> that a computer can do better).

   I work with a university network with a plethora of computers, and I
have mild success by using packages for all my updates.  Basically I have
each machine in a cron job install all security and other packages I want
upgraded.  Debconf is run in non-interactive mode and default answers to
all questions is given (by submitting return).  Then a separate package is
installed after that will "fix" any config settings that needed to be set
by just overwriting anything that needs to be changed.
   With debconf, this could actually have been an easy solved problem, but
I have not seen it integrated with every package nor does it solve every
problem yet.
   Though this approach has met its limitations quickly, as I don't really
want to have every machine upgrade every night with every machine doing
the same upgrades.  My solution to this is a daemon (which I call debcc)
which runs on every machine in my network.  This network daemon lets me
connect to it and issue apt commands.  The client should then be able to
pick machines to send specific commands to.  I have the workings of the
server in place.  There is no client yet, but its all text based and I
think designed so it could be used with expect or a similar type of
interaction. 
   I am still trying to come up with an optimal transaction database for
it to use.  As any network needs different updates sent to different
machines, some machines need to be updated more often than others, and
some machines may be down for extended periods of time.  I haven't come up
with what is really needed and what is overkill for this to work
well.  Though one use which I am striving for is to be able to do the base
debian install of a machine, install the daemon, and then just pick the
appropriate updates to be sent and have the machine fully configured to my
liking.  This would do away with binary dd installs in a nice way (which I
have only accomplished so far with my wide range of machines with endless
hacks to get machines configured correctly and automated for different
hardware).  
   I am probably duplicating effort and maybe this isn't what you are
looking for.  But I have not found anything to accomplish what I need for
a large and diverse network of machines.  But you can take a look at
http://people.debian.org/~rogoyski/ and telnet to linux158.ma.utexas.edu
port 45233 and type help to see the basics in action.  I hope to use this
to solve all the problems I have mentioned as well as make it useful to
specific tasks I would not think about.

   Adam



Reply to: