Let's say i have already configured linux system which i would like to clone from machine it's on to other machines which aren't similar - don't have the same hardware, etc. How do i achieve this? I was thinking about doing hd copy and then copying it to target machines and using scripts to customize it later to work with other hardware... any thought on that? Are such solutions available or i would have to dig in it?
edit: I'm using Debian Etch based distro, 2.6 kernel line
Just rsync the filesystem? Unless you've gone crazy and recompiled all the kernel for some reason, you should be able to just rsync and everything will work?
SystemImager will do what you want. You can customize the image after creating it. (it is just a copy of the dir structure along with a bunch of scripts. Howto.
Do you know what changes you've made to it?
If so, the FAI (http://www.informatik.uni-koeln.de/fai/) looks to be full featured enough to "clone" a config, as long as you know what the config is. And honestly, you should make it a point to document a config to the point that you can use a tool like FAI anyway.
You'll need to give some more information, particularly which version of linux you're using. You may be able to do something like I do in windows: Clone the hard drive, put in the new system, throw the install disc in, and do what's called a Repair install. It will build the kernel and drivers up for your system, and you should be able to boot on a different system then.
I've had success with this (adjust IPs and devices as appropriate; and do this with a rescue disk (I used knoppix)):
Original system:
New system:
There's no reason you couldn't use a bittorrent client for the HD cloning instead of netcat, if you need to send the image to multiple servers at once.
The on the new system, use the standard stuff to generate a new initrd with the right drivers. On RH systems you just have to fix the SCSI module so that it can boot at all, it'll automatically detect the change in network drivers and rebuild the initrd for that change.
why don't you just automate the install of all the machines. You can even do everything over the network PXE booting.
With Debian you can use preseed and automate all the installation and configuration phase.