#!/bin/bash
#先判斷是否掛載,并檢查tftp-server xinetd軟體包是否安裝
yum -y install tftp-server xinetd &>/dev/null
if [ $? -ne 0 ];then
mount /dev/cdrom /mnt &>/dev/null
fi
#安裝并啟用TFTP服務
yum -y install tftp-server xinetd &>/dev/null
sed -i '14s/yes/no/g' /etc/xinetd.d/tftp
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd
#安裝并啟用DHCP服務
yum -y install dhcp expect tcl &>/dev/null
/usr/bin/expect &>/dev/null <<EOF
spawn cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
expect "是否覆寫" {send "y\n"}
EOF
cat >/etc/dhcp/dhcpd.conf << EOF
ddns-update-style none;
next-server 192.168.241.3;
filename "pxelinux.0";
subnet 192.168.241.0 netmask 255.255.255.0 {
range 192.168.241.100 192.168.241.200;
option routers 192.168.241.3;
}
EOF
systemctl start dhcpd
systemctl enable dhcpd
#準備Linux內核、初始化鏡像檔案
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot
#準備PXE引導程式
yum -y install syslinux &>/dev/null
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
#安裝FTP服務,準備CentOS7 安裝源
yum -y install vsftpd &>/dev/null
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7
systemctl start vsftpd
systemctl enable vsftpd
#配置啟動選單檔案
mkdir /var/lib/tftpboot/pxelinux.cfg
touch /var/lib/tftpboot/pxelinux.cfg/default
cat >/var/lib/tftpboot/pxelinux.cfg/default <<-EOF
default auto
prompt 1
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.241.3/centos7
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.241.3/centos7
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.241.3/centos7
EOF
#關閉防火墻,驗證PXE網路安裝
systemctl stop firewalld.service
setenforce 0 &>/dev/null
重新新建一臺虛擬機,虛擬機記憶體要2G否則在安裝時可能會出現錯誤,
開啟虛擬機,在提示字串“boot:”后直接回車鍵(或者執行auto命令)將會自動通過網路下載安裝檔案,并進入默認的圖形安裝入口,然后就等著就可以了,,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/241944.html
標籤:其他
上一篇:tp5Linux部署
