I need to install Linux OS on 30 PCs. Is there any way to install from one ISO image with multicast or something like WDS in Microsoft?
I have a Ethernet connection with speed of 100Mb so installing 30 PCs with uni-cast can be very slow.
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It only takes a minute to sign up.Sign up to join this community
What you're looking for is probably PXE:
In case your LAN is too slow, you could use
Kickstart for Fedora/CentOS/RHEL: https://docs.fedoraproject.org/en-US/fedora/rawhide/install-guide/advanced/Kickstart_Installations/
Fully Automatic Installation: https://fai-project.org/
You can distribute a Linux installation across the network via multicast using
udp-sender /dev/sdaon the source PC.
udp-receiver /dev/sdaon all target PCs.
After the transfer has finished, all PCs have a usable Linux installation.
In detail, there are several approaches to this.
Having a live Linux running on all PCs is the most irritating part. Many people recommend https://fogproject.org/ for PXE, but it needs a dedicated server I just had not handy. I eventually resorted to a custom Tiny Core Linux distributed via PXE. For your first rodeo, you can also go around and boot a live Linux from a USB drive. All you need is something that comes with
udp-receiver (in Ubuntu, it is in the
The distribution process itself can be sped up significantly by not cloning the entire hard-drive, but rather individual partitions and a quick compression like
gz -2. If you happen to have a server, you can also store an image of the target's file-system with a designated file-system cloning tool like
e2image -ra. The commands would then be something like
udp-sender image.ext4.gz udp-receiver | gzip -d > /dev/sda1
With this method, I clone Ubuntu (and Windows) to a couple of rooms full of PCs at a school. The speed is impressive.
I'd go with nc and a minimal img.gz, then run a script to expand the partition/fs, and regen the keys, hostname.