当前位置: 首页 > news >正文

【shell脚本】全自动完成pxe无人值守批量装机脚本,匹配centos系列

本脚本采用的是搭建ftp服务器、tftp服务器、dhcp服务器来完成文件的传输

ks应答文件为最小化安装,免去图形化,可以实现一键装机~~

#!/bin/bash
yum -y install tftp-server dhcp vsftpd syslinux &> /dev/null
###脚本说明:需要输入dhcp地址池的最小主机编号和最大主机编号,请仔细阅读,并按要求赋值IP=`ip a s ens33 | awk -F'[ /]+' 'NR==3{print $3}'`
NET=${IP%.*}.
read -p "请输入地址池最小主机号:" min
read -p "请输入地址池最大主机号:" max#修改分配网段地址,指定服务器地址(本机IP),指定pxelinux.0引导程序文件
echo "subnet ${NET}0 netmask 255.255.255.0 {
range ${NET}${min} ${NET}${max};
option routers ${IP};
next-server ${IP};
filename \"pxelinux.0\";
}" > /etc/dhcp/dhcpd.conf
#开启dhcp服务
systemctl  start dhcpd#开启TFTP服务,准备四大文件
sed -i  "14 s/yes/no/" /etc/xinetd.d/tftp
mkdir /var/ftp/centos7
mount /dev/sr0 /var/ftp/centos7
#复制内核文件即初始化镜像文件到TFTP根目录下
cp /var/ftp/centos7/isolinux/vmlinuz /var/lib/tftpboot/
cp /var/ftp/centos7/isolinux/initrd.img /var/lib/tftpboot/
#复制pxelinux.0引导程序到TFTP根目录下
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot#准备ks应答文件到ftp服务器上
echo "install
keyboard 'us'
rootpw --plaintext 123 
url --url=\"ftp://$(ifconfig ens33|grep netmask|tr -s " "|cut -d " " -f3)/centos7\"
lang en_US
firewall --disabled
auth  --useshadow  --passalgo=sha512
text
selinux --disabled
skipxreboot
timezone Africa/Abidjan
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part /boot --fstype=\"xfs\" --size=4096
part swap --fstype=\"swap\" --size=4096
part / --fstype=\"xfs\" --grow --size=1%post --interpreter=bash
useradd xueyin
echo \"123456\"|passwd --stdin xueyin
%end" > /var/ftp/ks.cfgmkdir /var/lib/tftpboot/pxelinux.cfg
echo "default linux    
timeout 60             
label linux            
kernel vmlinuz
append initrd=initrd.img method=ftp://${IP}/centos7     ks=ftp://${IP}/ks.cfg
" > /var/lib/tftpboot/pxelinux.cfg/default#开启tftp服务和ftp服务
systemctl start tftp
systemctl start vsftpd#关闭防火墙和增强型安全机制,我电脑已经设置默认永久关闭的
systemctl stop firewalld.service
setenforce 0
http://www.lryc.cn/news/239327.html

相关文章:

  • 利用Python进行数据分析【送书第六期:文末送书】
  • 【直播课】11月26日学习PostgreSQL-PGCE认证的朋友们准备好,直播课来了
  • ModernCSS.dev - 来自微软前端工程师的 CSS 高级教程,讲解如何用新的 CSS 语法来解决旧的问题
  • dvwa-command injection 代码审计(超详细逐行审计)
  • hadoop 配置历史服务器 开启历史服务器查看 hadoop (十)
  • Java注解(Annotation)的基本知识
  • ssh远程连接不了虚拟机ubuntu
  • 文心一言 VS 讯飞星火 VS chatgpt (140)-- 算法导论11.4 5题
  • 代码随想录Day51 完结篇 LeetCode T84 柱状图的最大矩形
  • 对接苹果支付退款退单接口
  • 合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(三)
  • Web前端—移动Web第四天(vw适配方案、vw和vh的基本使用、综合案例-酷我音乐)
  • 报错注入 [极客大挑战 2019]HardSQL1
  • 【MATLAB源码-第83期】基于matlab的MIMO中V-BALST结构ZF和MMSE检测算法性能误码率对比。
  • Android13 新增 Stable AIDL接口
  • Postman API Enterprise 10.18.1 Crack
  • 电脑内存升级
  • ExcelBDD PHP Guideline
  • C++静态链接库的生成以及使用
  • 【2024系统架构设计】 系统架构设计师第二版-未来信息综合技术
  • JavaFX修改软件图标
  • Linux ps -ef|grep去除 grep --color=auto信息
  • jQuery的学习(一篇文章齐全)
  • 注塑行业各类业务流程图(系统化)
  • Android Studio 安装及使用
  • 计算机网络的OSI七层模型
  • 如何一次性解压多个文件
  • 类和对象学习笔记
  • Linux程序之可变参数选项那些事!
  • 【1day】泛微e-office OA系统user_page接口未授权访问漏洞学习