Alan Cox wrote:
How insane do you feel ?
A little, maybe. But I described a real situation.
There are ways to do this but they are not the normal ways to do the
install although they work (usually ;))
Could you outline some ways you mentioned?
The tools like rpm support a --root so that you can install them into a
subtree (the installer uses this for one), so given some disk partitions
you can format them, mount them and install packages, set up the network
scripts etc and chroot into it to test and complete the job.
Another approach is to build the actual needed system image on another
box locally and simply rsync it to remote disk and the switch to booting
that disk.
The latter is close to the procedure you would need for a backup/restore
operation so its a good idea to understand even if it isn't your
preferred way to roll out new systems. (Swappable drives are a little
nicer but you may not have them everywhere...). You have to make sure
that the disk driver for the destination machine's root partition is the
same as the source or build an initrd that has the needed modules.
After the copy, you have to fix the copied /etc/inittab to mount the new
partitions if any labels or partition names are different, make the
grub/grub.conf entry in your new boot partition refer to the correct
root location, and remove or correct the HWADDR entries in the
/etc/sysconfig/ifcfg-eth? files along with fixing the IP addresses and
gateways for all the interfaces you want to start up automatically (very
important if you are working remotely...). And you may want to change
the hostname in /etc/sysconfig/network if the target name is different
from the copied source.
If you have physical access to the box you can fix mistakes in any of
these changes after the fact by booting the install CD (USB would work
too) in rescue mode. It it is completely remote, you might want to do a
practice run under VMware to make sure you can get it right the first
time. The HWADDR thing can be a killer when the network is your only
connection.
--
Les Mikesell
lesmikesell@xxxxxxxxx