#!/bin/bash
#pxe网络装机脚本
#基础配置关闭防护
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
sed -i '/SELINUX=enforcing/c SELINUX=permissive' /etc/selinux/config
#安装所需的包
yum -y install dhcp httpd
yum -y install tftp-server.x86_64
systemctl start httpd
systemctl start tftp
yum -y install syslinux
#配置dhcp
echo "subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.100 192.168.4.200;
option domain-name-servers 192.168.4.207;
option routers 192.168.4.254;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.4.207;
filename "pxelinux.0";
}" > /etc/dhcp/dhcpd.conf
sed -i -r 's/BOOTPROTO(.*)/BOOTPROTO=static/' /etc/sysconfig/network-scripts/ifcfg-eth0
systemctl restart dhcpd
#tftp 配置 pxelinux.0 , 菜单文件部署
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
if [ ! -e /dvd/ ];then
mkdir /dvd/
mount /dev/cdrom /dvd/
fi
#复制光盘菜单文件
cp /dvd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
#部署图形模块,背景图片
cp /dvd/isolinux/vesamenu.c32 /dvd/isolinux/splash.png /var/lib/tftpboot/
#部署 启动内核(vmlinuz)与驱动程序
cp /dvd/isolinux/vmlinuz /dvd/isolinux/initrd.img /var/lib/tftpboot/
#菜单文件修改
sed -i '66,$d' /var/lib/tftpboot/pxelinux.cfg/default
sed -i '11c menu title PXE Server liangye' /var/lib/tftpboot/pxelinux.cfg/default
sed -i '62c menu label liangye install centos7' /var/lib/tftpboot/pxelinux.cfg/default
sed -i '63i menu default' /var/lib/tftpboot/pxelinux.cfg/default
sed -i '65c append initrd=initrd.img ks=http://192.168.4.207/ks.cfg' /var/lib/tftpboot/pxelinux.cfg/default
systemctl restart dhcpd
systemctl restart httpd
systemctl restart tftp
#http 配置
mkdir /var/www/html/centos
mount /dev/cdrom /var/www/html/centos
#应答文件内容
cat > /var/www/html/ks.cfg <<EOF
install
keyboard 'us'
rootpw --iscrypted $1$t05lSyRC$0k1IK1ZA7ux.Y1Z/hudYG0
url --url="http://192.168.4.207/centos"
lang en_US
auth --useshadow --passalgo=sha512
graphical
firstboot --disable
selinux --disabled
firewall --disabled
network --bootproto=dhcp --device=eth0
reboot
timezone Africa/Abidjan
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part / --fstype="xfs" --grow --size=1"
EOF
systemctl restart dhcpd
systemctl restart httpd
systemctl restart tftp
systemctl enable dhcpd
systemctl enable httpd
systemctl enable tftp
pxe 装机shell脚本
最新推荐文章于 2024-07-08 22:09:55 发布