当前位置:网站首页>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文件保存下来,后续就不用单独再配置一遍无人值守操作直接拉文件来用就行

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


到这里再继续等待即可,时间会比较长,要耐心点
边栏推荐
- Unexpected harvest of epic distributed resources, from basic to advanced are full of dry goods, big guys are strong!
- Redis通信协议--RESP协议
- Yiwen teaches you to distinguish between continuous integration, continuous delivery and continuous deployment
- ssm整合(整合配置)
- Redis经典面试题总结
- Alibaba cloud international email service package purchase process
- GNU 通用公共许可证 v2.0 GNU GENERAL PUBLIC LICENSE
- stm32F407-------FPU学习
- 嵌入式数据库--SQLite
- 数字孪生智慧楼宇可视化平台实现对园区企业、公众服务一体化
猜你喜欢

Scheme sharing | experts gather to jointly explore accent AI speech recognition

Development and design logic of rtsp/onvif protocol easynvr video platform one click upgrade scheme

满满干货赶紧进来!!!轻松掌握C语言中的函数

Games101 review: ray tracing

IO analog serial port of stm32

Vscode debug displays multiple columns of data

On weight decay and discarding method

Summary of static blog building tools

Win11输入法的选字框不见了怎么办?

Kubernetes -- Introduction
随机推荐
Industry insight | is speech recognition really beyond human ears?
基于JSP&Servlet实现的众筹平台系统
Review basic knowledge points of engineering electromagnetic field
Embedded sharing collection 22
OA项目之我的审批(会议查询&会议签字)
QML使用Layout布局时出现大量<Unknown File>: QML QQuickLayoutAttached: Binding loop detected for property循环绑定警告
IronOCR for .NET 2022.8
关于权重衰退和丢弃法
C # set TextBox control not editable
R 笔记 MICE
随机森林与集成方法学习笔记
QT专题1:实现一个简易计算器
"Introduction to engineering electromagnetic field" after class exercises with answers
[stream] basic knowledge of stream
Stm32f407 ------- DSP learning
数字孪生智慧楼宇可视化平台实现对园区企业、公众服务一体化
Redis内存回收
ELS displays a random square
Talk about the speech synthesis function of Baidu University of science and technology news Feiyun Zhisheng
Which of the four solutions of distributed session do you think is the best?