SHELL脚本之配置PXE批量无人值守装机
admin
2023-03-30 18:41:27
0

PXE批量无人值守装机脚本

准备2个网卡:

第一个网卡使用NET,用来安装服务
第2个网卡用来提供dhcp服务

#!/bin/bash
#部署pxe批量装机服务

#配置双网卡
#定义网卡配置文件位置
k=/etc/sysconfig/network-scripts

#复制网卡配置文件模板
cd /etc/sysconfig/network-scripts
cp -p ifcfg-ens33 ifcfg-ens36

#修改第2块网卡配置文件
sed -i 's/dhcp/static/' $k/ifcfg-ens36
sed -i 's/ens33/ens36/' $k/ifcfg-ens36
sed -i '/UUID/d' $k/ifcfg-ens36
cat >>$k/ifcfg-ens36 <<-EOF
IPADDR=192.168.100.100
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
EOF

#重启网络服务
systemctl restart network

#防止yum安装进程休眠
rm -rf /var/run/yum.pid

#安装必要服务
yum install dhcp syslinux tftp-server vsftpd -y

#修改DHCP服务配置文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cat >>/etc/dhcp/dhcpd.conf <<-EOF
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.10 192.168.100.20;
option routers 192.168.100.100;
next-server 192.168.100.100;
filename "pxelinux.0";
}
EOF

#定义要经常用的tftp站点
tftp=/var/lib/tftpboot

#复制引导程序到tftp站点
cp /usr/share/syslinux/pxelinux.0 $tftp/

#修改tftp配置文件
sed -i '/disable/s/yes/no/g' /etc/xinetd.d/tftp

#创建镜像文件挂载点
cd /var/ftp
mkdir centos7

#挂载镜像文件
mount /dev/sr0 /var/ftp/centos7

#复制压缩内核和系统初始化文件到tftp站点
cd centos7/images/pxeboot
cp initrd.img vmlinuz $tftp

#在tftp站点中创建启动菜单存放位置
cd $tftp
mkdir pxelinux.cfg
cd pxelinux.cfg

#创建启动菜单文件
cat >default <<-EOF
default auto
prompt 1

label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.100.100/centos7 ks=ftp://192.168.100.100/ks.cfg

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

label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.100.100/centos7
EOF

#安装系统工具
yum install system-config-kickstart -y

#创建系统安装过程文件
cat >/var/ftp/ks.cfg <<-EOF
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
#Install OS instead of upgrade
install
#Keyboard layouts
keyboard 'us'
#Root password
rootpw --plaintext 123
#Use network installation
url --url="ftp://192.168.100.100/centos7/"
#System language
lang zh_CN
#System authorization information
auth  --useshadow  --passalgo=sha512
#Use graphical install
graphical
firstboot --disable
#SELinux configuration
selinux --disabled

#Firewall configuration
firewall --disabled
#Network information
network  --bootproto=dhcp --device=ens33
#Reboot after installation
reboot
#System timezone
timezone Asia/Shanghai
#System bootloader configuration
bootloader --location=mbr
#Partition clearing information
clearpart --all
#Disk partitioning information
part /boot --fstype="xfs" --size=500
part swap --fstype="swap" --size=4096
part /home --fstype="xfs" --size=4096
part / --fstype="xfs" --grow --size=1

%packages
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
kexec-tools

%end
EOF

#关闭防火墙
systemctl stop firewalld.service
setenforce 0

#启动所有服务
systemctl start dhcpd
systemctl start tftp
systemctl start vsftpd

相关内容

热门资讯

特朗普下令不打了,美国的“余粮... 可以说戛然而止,快得让很多人都无法适应。前两周,每一天美国都要打击伊朗一通。就在7月24日白宫会议前...
穆杰塔巴最新表态:支持黎真主党 △伊朗最高领袖穆杰塔巴·哈梅内伊(资料图)当地时间7月26日晚,伊朗最高领袖穆杰塔巴·哈梅内伊对黎巴...
美军瘫痪一艘驶向伊朗的油轮,特... 美国总统特朗普虽下令暂停打击伊朗,但美军仍在执行对霍尔木兹海峡的封锁任务。针对美军瘫痪一艘驶向伊朗油...
“小牌大耍”的底气到底是哪里来... 澎湃首席评论员 李平这两天,“艺人李权哲乘高铁占座事件”在网上引发热议,该艺人参加的活动主办方曾发布...
越南籍船舶南海遇险沉没,中方已... 据凤凰卫视报道,一艘越南船舶7月24日夜间在越南庆和以东220海里附近遇险沉没,船上共62名越南籍人...
李权哲占座、蒙面、装死:娱乐圈... 你买了一张高铁一等座的票,找到自己的位置,18A。有人坐着。你拿出手机看了眼购票记录——没错,18A...
杭州景区咖啡店闯入1条幼蛇,仅... 夏天气温高、湿度大,蛇类活动进入高峰期,千万别被“小蛇无害”的刻板印象骗了!有些幼蛇看着迷你可爱,实...
AI开源公开信签署企业增至50... IT之家 7 月 26 日消息,英伟达、微软、IBM、Meta 等 25 家美国科技企业本周(7 月...
南阳快手短视频代运营企业的服务... 在短视频平台快速发展的背景下,企业通过快手等渠道进行内容运营已成为常见的市场动作。对于希望借助短视频...
普通人该如何跟上科技发展的步伐 这个被称作科技的词汇, 听起来既有宏大之感, 又颇为遥远, 好似仅仅归属于在实验室里专心致志钻研的科...