Re: A small udeb contribution from an arm-chair developer
Geert Stappers wrote:
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
- 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
- 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.
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