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

Re: A small udeb contribution from an arm-chair developer



Geert Stappers wrote:
First:
 The idea of promoting of software (enhancements) does intrique me.
 This posting is mostly about "What is so good about these udebs?"

Reading the announce of the multi-netcfg and multi-partman packages,
I couldn't see where the added value is, nor didn't see where
the Debian-installer should/could be improved.

Please try "to sell" the packages to me.

Consider me as an administrator of several computers
who is allready able to install those systems handsfree with d-i
and that I'm willing to change my setup for a better configuration.

Hmm...  Not much of a salesman, am I?  All right, let's see here...

Let's say that you have about 50 or 100 (or more) machines that you are going to install Debian on, and not all of the machines are the same:
- Some may be low-cost PC workstations with a maximum of 40GB hard dives
- Some may be Sun UltraSPARC SMP servers (or some other non-PC architecture machines) - Some may be high-end, multi-core multimedia boxes w/ a minimum of 400GB and snappy 3D cards that require special drivers packages to be installed - Machines may be broken up in locations that span multiple buildings and multiple subnets.

Whatever their differences, the only thing homogeneous about these machines is that they are all to have Debian installed on them.

Furthermore, lets say that for whatever reason, a DHCP server and/or a netboot installation just doesn't work for you. (Maybe you don't have a DHCP server and you don't want to take the time to set one up. Or maybe you're in the same boat with me and you don't have access to your organization's DHCP server, and whenever a new, unconfigured host appears on the net, the DHCP server /always/ gives out the wrong network configuration information, so that you can't use DHCP anyway.)

To the best of my knowledge, with the stock Debian installer that you have now, you only have two options left to you: do each installation manually, or build a separate installation media for each machine, where each media includes just the preseed files necessary for that one machine. One approach is just asking for human error, and the second approach requires either writing lots of media, or blanking and re-writing the media over and over again in between each installation.

What would be nice, instead, is if you could just have one copy of installation media per architecture, and place on each media all of the preseed information for all of the machines you're installing, and have the Debian installer automagically choose the correct set of preseed files for each machine. This is where my multi-config udebs come in.

The first udeb, multi-netcfg, is run just after the ethernet hardware has been discovered, but before the network has been configured. Multi-netcfg will search for ethernet hardware on the install client and build a list of hardware addresses. Then multi-netcfg will search for a preseed file (or a directory containing preseed files) that match any of the hardware addresses for the ethernet cards it has found. If it finds anything that matches, then it will read the preseed information into the debconf database for use by the installer. Presumably this preseed information includes the necessary network configuration, but it could just as easily include hard drive partitioning information, or package selection, or X11 configuration -- or anything that can be preseeded for udebs that are run after network hardware discovery. And if no preseed file is found that matches for this host, then no harm/no foul, nothing is preseeded and networking can still be configured either by DHCP or manually by the admin.

The second udeb, multi-partman is very similar in function. It's run after the drives have been discovered but before partitioning occurs. It too will search for preseed files based on ethernet hardware addresses, but it can also search for preseed files based on hostname, IP address, or the number and sizes of disks found. It also has a fallback feature where a generic partitioning preseed file can be used in the event that no other preseed files/directories match for this install client. And again, if no preseed file is found that matches this install client (and no default has been specified), then partitioning can still be done manually by the admin.

The inspiration for these udebs was a desire to minimize human error as well as effort. The udebs are tiny (1.5k and 1.9k respectively), and are architecture-independent, so they should run on any architecture for which a port of the Debian installer exists.

Michael Peek

P.S. Perhaps the situation in which I find myself is merely one small niche in the larger Debain administrator community, but it was a niche in need of a fill. Therefore, I give back to the community my solution: the multi-config package.

P.P.S. Act now, and I'll even throw in a jpeg of a jade elephant.

P.P.P.S. I'll be really embarrassed if this niche has already been filled by something in the new Etch installer that I just don't know about yet.



Reply to: