Ulrich Kerzel <kerzel@ekp.physik.uni-karlsruhe.de> [2002-08-28 10:27:53 +0200]: > we are considering installing Debian on a cluster of 30 or so linux-boxes. > One striking argument would be to have updates done via apt automatically. > > Our idea is that one machine (the administrator's box) would be the master, i.e. all packages > are downloaded from this machine and installed using apt. Then the newly downloaded > packages would be moved to our local mirror using the apt-move tool. All other machines would > be the slaves automatically installing the newly available package from the local mirror. I have previously set up and currently maintain something very similar to this on a large network of machines using autorpm in almost exactly they way you propose. In order to update the network of machines I add a new package to the distribution directory and then when the machines pull the update everything is updated automatically. Since the packages are screened they behave predictably and reliably. It works very well and I highly recommend it. If you are interested in this type of discussion then you might want to read the following reference paper on infrastructures and perhaps browse the mailing list. There is really good stuff here. http://www.infrastructures.org/ http://www.infrastructures.org/papers/bootstrap/bootstrap.html http://mailman.terraluna.org/mailman/listinfo/infrastructures > My question is therefore, how to do this efficiently? > I was thinking of putting the local mirror in /etc/apt/sources.list and having some > cron-job doing apt-get update/install. Be sure to look at apt-cron which does the safe parts out of the box and can be configured to do the rest automatically too. > But: How to tell the slaves that a package should be installed which hasn't been istalled previously? > How to deal with the situation that debconf sometimes requires some user-interaction? Can > the slave somehow get the configuration from the master? I have been asking myself that same question. Note that I am currently using autorpm/rpm which by policy requires installs to be non-interactive. Also, I am not using this on x86 but rather on hppa and so most of those rpm packages are my own ports and I follow that policy. Therefore it fits this model well. But as a good Debian convert I am converting machines over to Debian. But I am stuck on that problem as well. Debian was not designed with mass deployment in mind but instead with interactive, customized installation. Therefore this is a problem area for Debian. But I believe it can be overcome. The benefits outweigh the problems. I had been thinking of 'dpkg --get-selections > pkg-list' then distributing that list then 'dpkg --set-selections < pkg-list' to the remote machines where 'apt-get dselect-upgrade' would always keep machines in sync. However that is bad if any of the machines are to be customized such as a desktop. Therefore I will probably just keep a master list of top level packages which I want to install and will distribute that and then 'apt-get install $(<pkg-list)' on the machines. That will add to the installation without disturbing other pkgs on the machine. I have also considered a local meta package with which I can maintain dependencies. Probably because of the pre-screening of packages I can eliminate any that require user interaction. Most packages will avoid interaction if the configuration file already exists. Therefore you can install the config files first and the package second as part of the infrastructure. The seperation of configuration from package installation via debconf helps tremendously in this regard but not all packages have been converted to debconf yet. I do not believe examples which fully exploit this capability for debian exist at this time. Some have proposed things which I disagree completely solve this problem. Ajnd I hope to be proved wrong by other followups to this posting. I am definitely interested in your experiences in this area. Please in the future could you word wrap your messages at some reasonable column such as column 65 or 72 or some such which is less than 80 and still leaves room for quoting. Otherwise reading your messages in a standard size terminal is very difficult. BTW this is stated as part of the expected code of conduct for mailing lists. http://www.debian.org/MailingLists/ Bob
Attachment:
pgpMxbbYKeoaH.pgp
Description: PGP signature