前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pxe+kickstart服务器批量无人值守安装脚本

pxe+kickstart服务器批量无人值守安装脚本

原创
作者头像
用户10048459
修改2022-10-13 09:34:09
1.6K2
修改2022-10-13 09:34:09
举报
文章被收录于专栏:执笔绘倾城执笔绘倾城
代码语言:javascript
复制
echo  pxe一键部署-by-sakura
echo  密码123123
#!/bin/bash
read -p "请输入服务端ip,如192.168.6.13:  " SIP
read -p "请输入服务端网段,如192.168.6.0:  " GBY
read -p "请输入服务端网关,如192.168.6.1:  " GW
read -p "请输入DHCP资源池起始地址,如192.168.6.66:  " DHCP1
read -p "请输入DHCP资源池结束地址,如192.168.6.99:  " DHCP2
echo 请等待嗷~~~~~
sleep 1
yum -y install httpd dhcp tftp-server tftp syslinux
#dhcp 配置
cat <<EOF> /etc/dhcp/dhcpd.conf
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.180.0  netmask 255.255.255.0 {
  range 192.168.180.100 192.168.180.150;
  option domain-name-servers 8.8.8.8;
  option routers 192.168.180.2;
  default-lease-time 600;
  max-lease-time 7200;
  next-server 192.168.180.12;
  filename "pxelinux.0";
}
EOF
#替换变量
sed -i "7s/192.168.180.0/$GBY/g" /etc/dhcp/dhcpd.conf
sed -i "8s/192.168.180.100/$DHCP1/g" /etc/dhcp/dhcpd.conf
sed -i "8s/192.168.180.150/$DHCP2/g" /etc/dhcp/dhcpd.conf
sed -i "10s/192.168.180.2/$GW/g" /etc/dhcp/dhcpd.conf
sed -i "13s/192.168.180.12/$SIP/g" /etc/dhcp/dhcpd.conf

#
systemctl start dhcpd
systemctl enable dhcpd
#镜像源配置
mkdir /var/www/html/centos7
mount /dev/sr0 /var/www/html/centos7/
#http配置
systemctl start httpd
systemctl enable httpd
#ftp配置
sed -i '/disable/ s/yes/no/g' /etc/xinetd.d/tftp
systemctl start tftp.socket
systemctl enable tftp.socket
systemctl start tftp
systemctl enable tftp
#编写引导安装相关文件,放到指定位置
cp -a /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/
cp -a /var/www/html/centos7/images/pxeboot/{vmlinuz,initrd.img}   /var/lib/tftpboot/
cp -a /var/www/html/centos7/isolinux/{vesamenu.c32,boot.msg,splash.png}   /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg/
cp -a /var/www/html/centos7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
#改IP
sed -i '2s/600/50/g' /var/lib/tftpboot/pxelinux.cfg/default
sed -i '62s/7/7 by sakura /g' /var/lib/tftpboot/pxelinux.cfg/default
sed -i '62a \  menu default' /var/lib/tftpboot/pxelinux.cfg/default
sed -i "65c \  append initrd=initrd.img inst.repo=http://$SIP/centos7 inst.ks=http://$SIP/ks_config/centos7.cfg" /var/lib/tftpboot/pxelinux.cfg/default
sed -i '69c \  #menu default' /var/lib/tftpboot/pxelinux.cfg/default

#创建并编写无人值守安装模板文件            ip 
mkdir /var/www/html/ks_config
cat <<EOF>/var/www/html/ks_config/centos7.cfg
#version=DEVEL
auth --enableshadow --passalgo=sha512
url --url=http://192.168.180.12/centos7/
graphical
firstboot --enable
ignoredisk --only-use=sda
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8
network --bootproto=dhcp --device=ens33 --onboot=on --ipv6=auto --no-activate
network --hostname=localhost.localdomain
rootpw --iscrypted \$6\$LO0oxqvmJfQOFW7p\$cgV.4sVUp7UgEDSwUToHSIhRCmX4ETF2S/CoRmhnf.NHkCJvS1.Or8HENDSPkCrfnCgUlnVdxNWR0iK20GZF70
firewall --disabled
selinux --disabled
services --disabled="chronyd"
timezone Asia/Shanghai --isUtc --nontp
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
clearpart --none --initlabel
part /boot --fstype="xfs" --ondisk=sda --size=1024
part swap --fstype="swap" --ondisk=sda --size=2048
part / --fstype="xfs" --ondisk=sda --grow --size=1
%packages
@^minimal
%end

reboot
EOF
sed -i "3s/192.168.180.12/$SIP/g" /var/www/html/ks_config/centos7.cfg
echo 配置完成

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com