How do I install Ubuntu on multiple computers (something like Ghost) in a easy way?

One of the local college in my home town in India is planning to implement mass distribution and usage of Ubuntu Linux for the purpose of education. I have been asked by my CTO to look into the matter and bring out some valuable suggestions with which we can roll out multiple installations on more than 450 computers!

I have know a way in Windows that uses the Ghost technique to address this issue. Our purpose is similar in this case but don't know how to proceed further. I have been using Ubuntu for the past six months to get the feel and understanding of the OS and I have to admit it that from the very first day, I was almost into it learning, reading, learning and asking others to use it too. Just amazing!

Help in any form is appreciated.

Note: All the 450 computers are of different configurations/variety of different motherboards, hard drives, ram, etc. But they all meet the minimum criteria for Ubuntu installation's hardware requirement.


Solution 1:

You can use Clonezilla. The Free and Open Source Software for Disk Imaging and Cloning. Clonezilla is a free software disaster recovery, disk cloning and deployment solution. Allows a user to clone an individual machine or many computers simultaneously. Click Download. to get it.1

Another option is g4u - Harddisk Image Cloning for PCs

g4u ("ghosting for unix") is a NetBSD-based bootfloppy/CD-ROM that allows easy cloning of PC harddisks to deploy a common setup on a number of PCs using FTP. The floppy/CD offers two functions. The first is to upload the compressed image of a local harddisk to a FTP server, the other is to restore that image via FTP, uncompress it and write it back to disk. Network configuration is fetched via DHCP. As the harddisk is processed as an image, any filesystem and operating system can be deployed using g4u. Easy cloning of local disks as well as partitions is also supported.2

1Source:Clonezilla

2Source:g4u

Solution 2:

  • when you create the master disk, then hook up two more empty disks to free SATA ports, boot from live distro and use dd to do a 3-way copy

    dd if=/dev/sda | tee /dev/sdb /dev/sdc | dd of=/dev/hdb bs=32768

sda is the master disk, sdb and sdc - blank HDDs, adjust letters accordingly. Easy to double check by running cat /proc/partitions to see which is which on the channels. These three disks should not be mounted

  • The other approach is to use network (without even opening the target computers)

on target PC run:

 nc -l 12345 | dd of=/dev/sdb 

where sdb is the fixed disk if you booted from live distro

on master PC run:

dd if=/dev/sda | nc server2 12345