步骤
1 主要内容
借助 PXE,实现操作系统的无人值守安装。通过预先定义好的配置文件,可以自动化整个安装过程。
2 基础配置
事前的准备。
2.1 关闭防火墙和 SELinux
systemctl disable --now firewalld
sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config
2.2 配置网络
2.3 安装所需软件
yum clean all && yum makecache
yum install vsftpd tftp-server dhcp-server syslinux -y
2.4 准备安装文件
mkdir /var/ftp/pub/{rocky,iso}
mount /dev/cdrom /var/ftp/pub/iso
cp -r /var/ftp/pub/iso /var/ftp/pub/rocky
2.5 准备应答文件
/var/ftp/pub/rocky/start.cfg
lang zh_CN
keyboard --xlayouts='us'
timezone Asia/Shanghai --utc
rootpw $2b$10$l/D1kEbmrNhd0Chzv2RUROHtIo8TgfMZl.qUD2NUbAG5dlq/JCGeS --iscrypted
reboot
url --url=ftp://192.168.73.1/pub/rocky
bootloader --append="rhgb quiet crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M"
zerombr
clearpart --all --initlabel
autopart
network --bootproto=dhcp
firstboot --disable
selinux --disabled
%packages
@^graphical-server-environment
@development
%end
3 FTP 配置
提供安装操作系统所需的文件。
3.1 允许匿名访问
sed -i 's/^anonymous_enable=.*$/anonymous_enable=YES/' /etc/vsftpd/vsftpd.conf
3.2 重启服务并配置开机自启
systemctl restart vsftpd
systemctl enable vsftpd
4 DHCP 配置
分配 IP 地址。
cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf
subnet 192.168.73.0 netmask 255.255.255.0 {
range 192.168.73.100 192.168.73.200;
option routers 192.168.73.254;
option broadcast-address 192.168.73.255;
next-server 192.168.73.1;
filename "pxelinux.0";
default-lease-time 600;
max-lease-time 7200;
}
5 TFTP 配置
能够让计算机在启动时通过网络加载必要的启动文件。
5.1 准备启动文件
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp -r /var/ftp/pub/iso/isolinux/* /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
5.2 配置引导项
default linux
timeout 0
... 省略 ...
label linux
menu label ^Install Rocky Linux 9.4
kernel vmlinuz
append initrd=initrd.img inst.stage2=ftp://192.168.73.1/pub/rocky inst.ks=ftp://192.168.73.1/pub/rocky/start.cfg quiet
menu end
5.3 重启服务并配置开机自启
systemctl restart tftp
systemctl enable tftp