BRINER Cedric wrote:
hello, I'm facing a problem of administrating 30 debian stations at the Observatory of Geneva (abbreviation: OBS ), and this number of stations could increase significantly. So I really need to find a way of administrating them which can easily scale.
This should not be much of a problem.
_ every station will have the same configuration except: ipconfig, the hooks used in ifup,ifdown for iptables, and some hardware differences. _the list of packages to install on it will grow
This makes it easy.
let me explain you what I imagine to do: 1. make a reference station so I'll install a machine which will be the reference to the other one in therm of which package has to be installed on them.
You may want to consider systemimager. I used it to administer a lab with 10 workstations. It will let you configure such things as files on the clients which you wish to remain unchanged and the same for directories. You can set the machines to update their image automatically (through a cron job) or do it manually (which is what I prefer). Systemimager is extremely flexible and powerful if you take the time to read the documentation.
2. create/rebuild some packages to take in account of our OBS specific configuration I thought about rebuilding some packages to add their specific configuration files on it. Packages such as xntp, cups,iptables/ifup/ifdown, xscreensavers, ssh, exports, locale, sendmail... Or also to create some packages which will handle the modification of specific configuration.(xntp,...)
'apt-get source' is your friend here. Get the source you want, make the modifications you need and you can build your customized packages very easily. sbuild or pbuilder may be good tools to use for this.
3. create a local OBS repository of the rebuild/created packages this will be the local repository of the OBS's packages
If you choose systemimager, this would be unncessary, since all your machines could replicate from your reference machine. In the event that you choose to maintain your own local repository, I have written a detailed HOWTO that takes you step by step through the process: http://familiasanchez.net/~sanchezr/?page=debrepository
4. construct an local repository based on the reference station I'll use the: ``apt-move sync'' command to create a local repository (standard debian + OBS's packages) of all the packages needed. so before updating this reposiroty we will ensure that the reference station works properly with the updated packages from debian and from OBS
You may want to consider apt-proxy instead. It is very automatic and easy to configure. Be warned, though, that the version in stable (1.3) is no longer developed and that the apt-proxy team is working on a complete rewrite (version 2, currently at 1.9) which is in Sid, but will not go into Sarge.
5. install the new machines, and only use the (4) to their /etc/apt/sources.list
The nive thing about systemimager, is that you can set up your image server to boot machines across the network. Then, you set the new machine to netboot, and will grab the image from your image server and configure itself. No installation necessary. However, this approach requires that you setup tftp and configure your image server to boot clients across the network. Alternitavely, you can create a boot CD or floppy that will boot the machine and find the image server and grab the image. Systemimager documents both approaches.
6. add to their crontab a command that will ask them to automatically update from the (4) and to check if there is any new packages to install
This could be dangerous, but it appears that you will be testing the packages first on a reference machine before making the available to the other machines. So, I don't see too much trouble here.
7. pray that this is a good way to handle that administration.
There is nothing inherently wrong with what you propose, but there are different tools out there. Some tools are better, some are worse, others are a matter of preference.
Advantages of this method. -rebuild packages is just at the step(2) apt-get source packages modify the configuration file on it rebuild it let the script made by the debian maintainer to upgrade this pacakages, by stopping the daemon, ....<whatever> , restart the daemon - the (4) local repository is double checked, and we can verify that all the new packages doesn't brake the system - when installing a new station, just do the minimum to install it and then put the crontab script. and it will install itself properly - it uses the strongness of apt-get and dpkg to maintain the stations Disadvantages: - take a big deep in how to manage packages ``a la'' debian style
Not sure what you mean by managing packages debian style. But if it is the repository management you refer to, check out the HOWTO I wrote. You can either use my manual method or some of the automated tools I have referenced.
Question: -does debian provide some specifique tools to create special conf of their packages. something like this: dpkg-prepareSpecifiqueDebianPackage cupsys and then it creates you a ./cupsys |-- certs [error opening dir] |-- classes.conf |-- client.conf |-- cupsd.conf |-- interfaces |-- mime.convs |-- mime.types |-- ppd | |-- canon.ppd | |-- hp0.ppd | |-- hp0_a3.ppd | |-- hp0_a3d.ppd | `-- tek2t.ppd |-- ppds.dat |-- printers.conf `-- pstoraster.convs you go inside, modify what you want dpkg-buildpackage and you push it on your local repository and apt-get handle that automatically ?
I am not sure about this. -Roberto -- Roberto Sanchez http://familiasanchez.net/~sanchezr
Attachment:
signature.asc
Description: OpenPGP digital signature