Unattended Installations on Multiple Computers using PXE Booting and Network-Based Preseeding

First, you need to have a server that can provide your client machines with an IP address (DHCP) and some files for them to boot from over the network (TFTP). This is called a PXE server. You’ll also want to make sure your BIOS or UEFI firmware on each client machine supports booting via PXE.

2. Next, you need to create a Kickstart file that contains all of the settings and options for your Linux installation. This can be done using a tool like Anaconda (the Red Hat installer) or by editing a plain text file with an editor like nano or vim. The Kickstart file tells the installer what packages to install, which language to use, where to put the bootloader, and other important settings.

3. Once you have your PXE server set up and your Kickstart file created, you can start booting your client machines via PXE! When they first turn on or reboot, they’ll look for a network connection and try to find a DHCP server. If everything is working correctly, the client machine will get an IP address from your PXE server and then download the Kickstart file over TFTP.

4. The installer will read through the Kickstart file and automatically configure itself based on the settings you specified. This can save a lot of time compared to manually configuring each machine one by one!

5. Once the installation is complete, your client machines should be ready to use with all of their necessary software installed and configured according to your preferences. You can repeat this process as many times as needed for other client machines in your network.

Here’s an example Kickstart file that you could use:

# This is a sample kickstart configuration file for Red Hat Enterprise Linux 7.0 or later.
# It performs an installation of the minimal server image, with SSH and firewall enabled.
# The installer will automatically configure networking using DHCP, and set up a hostname based on the FQDN provided in %domain.
# This file can be customized to suit your specific needs by editing the variables below.

# Begin Kickstart file
install
lang en_US # Sets the language to English
keyboard us # Sets the keyboard layout to US
timezone America/Chicago # Sets the timezone to America/Chicago
network --device=eth0 --bootproto=dhcp --activate --onboot=yes # Configures networking using DHCP and enables it on boot
firewall --enabled --service=ssh --permanent # Enables the firewall and allows SSH connections permanently
selinux --disabled --force # Disables SELinux
zerombr --clear --relabel # Clears the master boot record and relabels the disk
autopart --type=lvm2 --size=15 --grow --name=system --aspartition # Automatically partitions the disk using LVM2, with a minimum size of 15GB and allows it to grow, naming it "system"

# Begin package installation
%packages
@minimal-server # Installs the minimal server packages
@codecs # Installs additional codecs for multimedia support
@misc-utils # Installs miscellaneous utilities
@security-tools # Installs security tools
%end # Ends package installation

This Kickstart file installs the minimal server image, enables SSH and firewall, sets up networking using DHCP, disables SELinux, clears out any existing partitions or labels, creates a new LVM2 partition for system files, and installs some common packages like codecs and security tools. You can customize this file to suit your specific needs by editing the variables at the top!

Hope that helps clarify things! Let me know if you have any other questions or need further assistance.

SICORPS