本脚本采用的是搭建ftp服务器、tftp服务器、dhcp服务器来完成文件的传输
ks应答文件为最小化安装,免去图形化,可以实现一键装机~~
#!/bin/bash
yum -y install tftp-server dhcp vsftpd syslinux &> /dev/null
###脚本说明:需要输入dhcp地址池的最小主机编号和最大主机编号,请仔细阅读,并按要求赋值
IP=`ip a s ens33 | awk -F'[ /]+' 'NR==3{print $3}'`
NET=${IP%.*}.
read -p "请输入地址池最小主机号:" min
read -p "请输入地址池最大主机号:" max
#修改分配网段地址,指定服务器地址(本机IP),指定pxelinux.0引导程序文件
echo "subnet ${NET}0 netmask 255.255.255.0 {
range ${NET}${min} ${NET}${max};
option routers ${IP};
next-server ${IP};
filename \"pxelinux.0\";
}" > /etc/dhcp/dhcpd.conf
#开启dhcp服务
systemctl start dhcpd
#开启TFTP服务,准备四大文件
sed -i "14 s/yes/no/" /etc/xinetd.d/tftp
mkdir /var/ftp/centos7
mount /dev/sr0 /var/ftp/centos7
#复制内核文件即初始化镜像文件到TFTP根目录下
cp /var/ftp/centos7/isolinux/vmlinuz /var/lib/tftpboot/
cp /var/ftp/centos7/isolinux/initrd.img /var/lib/tftpboot/
#复制pxelinux.0引导程序到TFTP根目录下
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
#准备ks应答文件到ftp服务器上
echo "install
keyboard 'us'
rootpw --plaintext 123