当前位置:网站首页>Shell:一键部署pxe
Shell:一键部署pxe
2022-07-28 02:47:00 【IT.cat】
shell脚本能为我们带来很多便利,这里我就编写了一个一键部署pex的shell脚本
一、前置操作

添加一块网卡并改为net1模式
二、修改脚本某些参数
查看一下自己新网卡的名称,我这里是ens36
然后更改ip值就行 和dhcp配置文件中的IP值以及/var/lib/tftpboot/pxelinux.0/default里的指向ftp的地址就行,都改成同一个
实在不理解的可以看我另一篇博客有详细说明:
PXE&&kickstart原理和配置_IT.cat的博客-CSDN博客
#!/bin/bash
#==========================================================================
# User yz
# PEX一键部署
# date 2022.7.26
#==========================================================================
###################关闭防火墙#############################
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#####################配置网卡#############################
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens36
sed -i '/GATEWAY/s/^/#/' /etc/sysconfig/network-scripts/ifcfg-ens36 #需要修改网卡名称
sed -i 's/ens33/ens36/' /etc/sysconfig/network-scripts/ifcfg-ens36
sed -i '/UUID/s/^/#/' /etc/sysconfig/network-scripts/ifcfg-ens36
sed -i '/DNS/s/^/#/' /etc/sysconfig/network-scripts/ifcfg-ens36
sed -i 's/192.168.130.152/192.168.59.100/' /etc/sysconfig/network-scripts/ifcfg-ens36
# ^^ 需要修改IP地址
systemctl restart network
###################安装软件###############################
#检测网络
ping -c 1 -i 0.1 www.baidu.com > /dev/null
if [ $? -eq 0 ]
then
yum -y install vsftpd tftp xinetd dhcpd syslinux tftp-server > /dev/null
#################配置dhcp服务##########################
cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
echo "ddns-update-style none;
subnet 192.168.59.0 netmask 255.255.255.0 { #这里也需要修改成与新网卡同一网段的
range 192.168.59.110 192.168.59.200;
option routers 192.168.59.100;
option domain-name-servers 114.114.114.114;
next-server 192.168.59.100;
filename\"pxelinux.0\";
} " >> /etc/dhcp/dhcpd.conf
##################配置tftp服务##########################
sed -i '/disable/s/yes/no/' /etc/xinetd.d/tftp
##################配置tftp需要的共享文件########################
mount /dev/cdrom /mnt
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot
#################准备pxe引导镜像文件#######################
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
#################手工配置dafault菜单文件##################
mkdir /var/lib/tftpboot/pxelinux.cfg
touch /var/lib/tftpboot/pxelinux.cfg/default
echo " default auto
prompt 0 #ftp的指向IP都需要改成新网卡IP
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.59.100/centos7 ks=ftp://192.168.59.100/ks.cfg
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.59.100/centos7 ks=ftp://192.168.59.100/ks.cfg
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.59.100/centos7 ks=ftp://192.168.59.100/ks.cfg " >> /var/lib/tftpboot/pxelinux.cfg/default
##################配置ftp,准备centos安装源##############
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7
#################配置无人值守######################
#要先配置无人值守,再执行脚本
yum -y install system-config-kickstart > /dev/null #安装system-config-kickstart工具
#################开启服务############################# vsftpd tftp xinetd dhcpd
systemctl start vsftpd tftp xinetd dhcpd
else
echo "网络出现问题无法安装,无法进行下一步"
fi
配置完后还需要配置无人值守,这里前面的博客也有详细说明如何配置,可以直接按照kickstart那段开始配置
PXE&&kickstart原理和配置_IT.cat的博客-CSDN博客
配置完无人值守我们可以将ks.cfg文件保存下来,后续就不用单独再配置一遍无人值守操作直接拉文件来用就行

验证
验证方法我上篇博客也有详细写 主要是创建虚拟机和无人值守文件存放位置
这里直接演示执行后的过程


到这里再继续等待即可,时间会比较长,要耐心点
边栏推荐
- 颜色的识别方法和探索 基于matlab
- Scheme sharing | experts gather to jointly explore accent AI speech recognition
- 满满干货赶紧进来!!!轻松掌握C语言中的函数
- 每日刷题巩固知识
- 傅里叶级数
- 53. Maximum Subarray最大子数组和
- 关于权重衰退和丢弃法
- Engineering Geology Practice - engineering geology problem set
- 基于c8t6芯片开发RC522模块实现呼吸灯
- [2022 Niuke multi school 2 K link with bracket sequence I] bracket linear DP
猜你喜欢

Decision tree and random forest learning notes (1)

ECCV 2022 | open source for generative knowledge distillation of classification, detection and segmentation

More than 50 interviews have been summarized, and notes and detailed explanations have been taken from April to June (including core test sites and 6 large factories)

图像去噪综合比较研究

Engineering Geology Practice - engineering geology problem set

Stop paging with offset and limit. The performance is too poor!

数据湖(十七):Flink与Iceberg整合DataStream API操作

Tungsten Fabric SDN — BGP as a Service

在线问题反馈模块实战(十六):实现查详情功能

【下载文件】uniapp开发小程序,下载文件并保存到本地
随机推荐
决策树与随机森林学习笔记(1)
Decision tree and random forest learning notes (1)
什么是虚函数?
QT official example: Fridge Magnets example
C#设置Textbox控件不可编辑
如何一键进行重装Win11系统
【类的本质(Objective-C语言中)】
Design of the multi live architecture in different places of the king glory mall
WEB安全基础 - - -命令执行漏洞
CAD创建组却没有组合在一起?
【uni-app高级实战】手把手带你学习一个纯实战复杂项目的开发2/100
树莓派开发继电器控制灯
Interview experience: first tier cities move bricks and face software testing posts. 5000 is enough
数字孪生技术驱动智能工厂减负赋能提升运维效益
阿里云国际版邮件服务套餐购买流程
stm32F407-------FPU学习
My approval & signature function of conference OA project
Hotel VR panoramic display shooting provides more opportunities for cooperation and negotiation
ELS keyboard information
【下载文件】uniapp开发小程序,下载文件并保存到本地