shell脚本一件部署自动化装机(PXE无人值守)

shell脚本一件部署自动化装机(PXE无人值守)

使用shell脚本一件部署

#!/bin/bash
#查看是否有本地yum源,没有则创建本地yum源
cd /etc/yum.repos.d
if [ ! -e local.repo ]
then
mkdir repos.bak
mv *.repo repos.bak
echo '[local]
name=local
baseurl=file:///mnt
gpgcheck=0
enabled=1' > local.repo
fi
#删除yum缓存并更新
yum clean all && yum makecache
#进行挂载并下载相关服务文件和程序
mount /dev/sr0 /mnt
yum -y install tftp-server xinetd dhcp vsftpd syslinux
#开启TFTP服务,并开启多台一起连接功能
sed -i -e "10 s/yes/no/" -e "14 s/yes/no/" /etc/xinetd.d/tftp
#开启tftp和xinetd
systemctl start tftp
systemctl start xinetd
#拷贝一份模板文件至/etc/dhcp/目录下,并改名为dhcpd.conf
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
#修改分配网段地址
sed -i -e "32 s/10.254.239.0/192.168.184.0/" -e "32 s/224/0/" /etc/dhcp/dhcpd.conf
#修改地址池
sed -i -e "33 s/10.254.239.10/192.168.184.100/" -e "33 s/10.254.239.20/192.168.184.200/" /etc/dhcp/dhcpd.conf
#默认网关指向本机TFTP服务器的IP地址
sed -i "34c option routers 192.168.184.50;" /etc/dhcp/dhcpd.conf
#禁用DNS动态更新,并指定服务器地址(本机IP),指定要下载的PXE引导程序文件
sed -i "14 s/^#//" /etc/dhcp/dhcpd.conf
sed -i "14a next-server 192.168.184.50;" /etc/dhcp/dhcpd.conf
sed -i "15a filename \"pxelinux.0\";" /etc/dhcp/dhcpd.conf
开启dhcp服务
systemctl  start dhcpd
#复制内核文件即初始化镜像文件到TFTP根目录下
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/
#复制PXE引导程序到TFTP根目录下
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
#创建新目录,并把光盘镜像文件及自动应答文件复制到新目录中
mkdir /var/ftp/centos7
cd /mnt
cp -rf * /var/ftp/centos7/   #复制整个镜像文件内容至新目录
cp /root/kgc.cfg /var/ftp/kgc.cfg  #复制应答文件
#开启ftp服务
systemctl start vsftpd
#在tftp根目录下创建新目录,并配置启动菜单文件(默认文件名为default)
mkdir /var/lib/tftpboot/pxelinux.cfg
echo "default auto    #指定默认入口名称
prompt 0              #设置是否等待用户选择,0位不等待
label auto            #为图形化安装引导入口
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.184.50/centos7     ks=ftp://192.168.184.50/kgc.cfg

label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.184.50/centos7

label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.184.50/centos7
" > /var/lib/tftpboot/pxelinux.cfg/default
#关闭防火墙和增强型安全机制
systemctl stop firewalld.service
setenforce 0

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
评论

打赏作者

Just soso857

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值