Hi,

When I recently "officially" joined the Gentoo Project, I had the idea to share a part of my work, in the way of a scripts set I've been working on for more than 2 years now, which I called GeNUS (Gentoo Network Update System).

My lab and teaching department massively used Linux for 4 years now, and, since september 2004, I only use Gentoo on students computers. This means, more than 200 computers, located on different and distant sites, using VLANs. To deal with these machines, I had to create a set of scripts to help me install / remove / update / reconfigure machines, without leaving my cumfortable chair ;). I'll try to explain how it currently works...

I use a webserver to "push" software updates. On this server we can find a "machine map" : in fact a simple text file, containing one line per machine. Each machine (=client) is identified by its MAC address (easily extracted from the DHCP configuration). Each of these addresses is followed by one or more keywords, representing the "scripts sets" to apply on the client config (I currently use one scripts set per hardware architecture, to apply hardware configs, and another one per "software profile"). For each of these keyworks, the client downloads another file, called "update list" (.ul files). Each "update list" file contains the url of a few update scripts, which are to be ran on the client, to effectively install / remove software, etc... Of course, the client keeps a record of each update, in order not to re-run the same procedures.

To prepare the packages deployment, I use portage' hability to download and use binary packages : all my packages are pre-compiled on a staging machine, and then binary packages are created. This way, I save a lot of power (good for my planet), and a lot of time too (good for my users, and, consequently, for me :P).

GeNUS is launched at boot-time, using the "local" Gentoo service, and has an integrated auto-update procedure. It is actually written in bash, sometimes with a clean code, sometimes with a "less clean" code, and it would probably need to be re-written more efficiently. I would be glad to help to course.

Since this work saved me a lot of work / time / money in the past two years, I thought maybe it could help others. Just let me know if we could do something with this, if it sounds usefull/less to you, etc...

Cheers,

Hubert

--
[email protected] mailing list

Reply via email to