用脚本实现pxe自动装机
systemctl stop firewalld
setenforce 0
yum -y install tftp-server xinetd dhcp vsftpd system-config-kickstart
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd
sed -i 's/\byes\bno/g/' /etc/xinetd.d/tftp
systemctl restart tftp
systemctl restart xinetd
echo "y"| cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
sed -i 's/#ddns-update-style none;/ddns-update-style none/' /etc/dhcp/dhcpd.conf
sed -i '/ddns-update-style none;/a\next-server 20.0.0.30;' /etc/dhcp/dhcpd.conf
sed -i '/next-server 20.0.0.30;/a\filename "pxelinux.0";' /etc/dhcp/dhcpd.conf
echo "subnet 20.0.0.0 netmask 255.255.255.0 {
range 20.0.0.100 20.0.0.110;
option routers 20.0.0.30;
}" >> /etc/dhcp/dhcpd.conf
systemctl restart dhcpd
mount /dev/cdrom /mnt/
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7
sed -i '/root/d' /etc/vsftpd/user_list
sed -i '/root/d' /etc/vsftpd/ftpusers
systemctl restart vsftpd
mkdir /var/lib/tftpboot/pxelinux.cfg
echo "default auto
prompt 0
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://20.0.0.30/centos7 ks=ftp://20.0.0.30 ks=ftp://20.0.0.30/ks.cfg
label linux text
kernel vmlinuz
append initrd=initrd.img method=ftp://20.0.0.30/centos7
label linux rescue
kernel vmlinuz
append initrd=initrd.img method=ftp://20.0.0.30/centos7" > /var/lib/tftpboot/pxelinux.cfg/default
echo "#platform=x86, AMD64,or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --plaintext 123
# Use network installation
url --url="ftp://20.0.0.30/centos7"
# System language
lang zh_CN
# System authorization information
auth --useshadow --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# SELinux configuration
selinux --disabled
# Firewall configuration
firewall --disabled
# Network information
network --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=512
part /home --fstype="xfs" --size=4096
part swap --fstype="swap" --size=4096
part / --fstype="xfs" --grow --size=1
# Packages
%packages
@base
@core
@desktop-debugging
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@print-client
@x11
binutils
chrony
ftp
gcc
kernel-devel
kexec-tools
make
open-vm-tools
patch
python
%end" > /var/ftp/ks.cfg