#!/bin/bash
#检查环境
setenforce 0
sed -i 's/=enforce/=disabled/g' /etc/selinux/config
systemctl restart firewalld
#配置yum源
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
mkdir /dvd
mount /dev/cdrom /dvd
cat > /etc/yum.repos.d/1.repo <<EOF
[dvd]
name=dvd
baseurl=file:///dvd
enabled=1
gpgcheck=0
EOF
yum clean all
yum makecache
#安装dhcp
yum -y install dhcp
cat > /etc/dhcp/dhcpd.conf <<EOF
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.200.0 netmask 255.255.255.0 {
range 192.168.200.100 192.168.200.200;
option routers 192.168.200.12;
filename \"pxelinux.0"\;
next-server 192.168.200.12; }
EOF
systemctl restart dhcpd
#安装tftp
yum -y install tftp-server xinetd
vim /etc/xinetd.d/tftp
sed -i '13s/= -s /var/lib/tftpboot/= -s /tftpboot/g' /etc/xinetd.d/tftp
sed -i '14s/= yes/= no/g' /etc/xinetd.d/tftp
systemctl restart xinetd
#安装http
yum -y install httpd syslinux
rm -fr /etc/httpd/conf.d/welcome.conf
mkdir /var/www/html/iso
mount /dev/cdrom /var/www/html/iso/
cat >> /etc/fstab <<EOF
/dev/cdrom/ /var/www/htm/iso iso9660 defaults 0 0
EOF
#制作光盘系统
mkdir /tftpboot
cp /var/www/html/iso/isolinux/vmlinuz /tftpboot/
cp /www/html/iso/isolinux/initrd.img /tftpboot/
mkdir /tftpboot/pxelinux.cfg
cp /var/www/html/iso/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
cp /usr/share/syslinux/pxelinux.0 /tftpboot/
sed -i '1s/vesamenu.c32/ks/g' /tftpboot/pxeinux.cfg/default
sed -i '60a label ks
menu label ^Install CentOS 7
kernel vmlinuz
append initrd=initrd.img append initrd=initrd.img method=http://192.168.200.12/iso
ks=http://192.168.200.12/ks.cfg devfs=nomount'
cp /root/anaconda-ks.cfg /var/www/html/ks.cfg
sed -i '5s/cdrom/install/g' /var/www/html/ks.cfg
sed -i '6a url --url=\"http://192.168.200.12/iso"\' /var/www/html/ks.cfg
chmod /var/www/html/ks.cfg
#添加防火墙
systemctl enable dhcpd xinetd httpd
systemctl restart dhcpd xinetd httpd
firewall-cmd --add-port=67/udp --permanent
firewall-cmd --add-port=69/udp --permanent
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload

  

pxe批量部署脚本的更多相关文章

  1. PXE批量部署linux操作系统

    前言 在实际生产环境中,有时候我们会碰到为几十上百甚至上千台服务器安装Linux操作系统的需求,如果我们还是常规的去使用移动介质逐台安装,显然是一件低效又令人抓狂的事情,那要安装到何年何月啊?这对于我 ...

  2. PXE批量部署安装Linux系统

    PXE介绍 1)Preboot Excution Environment 预启动执行环境 2)Intel公司研发 3)基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映 ...

  3. pxe批量部署

    功能: 批量全自动安装操作系统方法: dhcp 自动分配IP tftp 微系统 用来安装系统 httpd 网络源 操作流程: #检查环境 getenforce #检查selinux systemctl ...

  4. shell基础之pxe批量部署

    通过安装及配置DHCP,tftp-server,xinetd,httpd,syslinux来实现批量安装Linux系统 #!/bin/bash #检查环境 se_state=`getenforce` ...

  5. Cobbler批量部署CentOS

    简介 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成PXE ...

  6. 使用 PXE+Kickstart 实现无人值守批量部署系统

    一.废话两句 在云数据中心,一次几十台甚至几百台服务器上线,系统安装将变得非常繁琐,系统安装好了后还会涉及很多配置,如果一台台来安装的话工作量非常大.(虽然有加班费,开个玩笑)为了解决这个问题,我们需 ...

  7. linux服务器批量部署应用系统shell脚本(Tomcat/jetty)

    linux服务器批量部署应用系统shell脚本: 1.请更换代码内的服务器地址(Tomcat或jetty服务器) serverRoot=/home/undoner/java_tool/apache-t ...

  8. shell脚本批量部署ssh

    日常运维工作中,需要给几十上百台服务器批量部署软件或者是重启服务器等操作, 这样大量重复性的工作一定很苦恼,本文给大家提供了最基本的批量操作的方法,虽然效率不高,对于初学者来说还是好理解.由于刚开始学 ...

  9. 记一次ARM服务器(鲲鹏920)的PXE批量装机遇到的坑

    由于近期项目需要,在对一批华为鲲鹏920的ARM服务器(型号为天宫TG225 B1)进行批量装机的过程中,遇到了各种各样千奇百怪的bug(换个高情商的说法就是遇到了各种各样和x86服务器不一样的地方) ...

随机推荐

  1. 解决:Specifying a namespace in include() without providing an app_name和XXX is not a registered namespace问题

    python3 Django 环境下,如果你遇到namespace没有注册以及在根目录下urls.py中的include方法的第二个参数namespace添加之后就出错的问题. 出错问题: 'Spec ...

  2. GUI篇 tkinter (Label,Button)之一

    import tkinterfrom tkinter import * # tkinter._test() # 实例化一个窗口对象base = tkinter.Tk()# 修改窗口的标题base.wm ...

  3. 攻防世界(XCTF)WEB(进阶区)write up(四)

    ics-07  Web_php_include  Zhuanxv Web_python_template_injection ics-07 题前半部分是php弱类型 这段说当传入的id值浮点值不能为1 ...

  4. 《疯狂java-突破程序员基本功的16课 》笔记总结

    本人最近读完<疯狂java-突破程序员基本功的16课 >读完后,感觉对java基础又有了新的认识,在这里总结一下:一.数组与内存控制 1.1 数组初始化     java语言的数组是静态的 ...

  5. vue-router之to属性赋值

    to属性赋值 <!-- html --> <div id="app"> <router-link to="/bj/朝阳区"> ...

  6. JQ获取元素属性值

    最近在学习JAVA Web,自己也是做个下列表左右选择的小案例. 获取某个元素的属性值一直以为是要调用atrr方法,不过好像获取元素的数组形式再遍历每个元素的时候想获取到它的属性值用attr方法有问题 ...

  7. HTTP Catcher

    HTTP Catcher HTTP Catcher 是一个 Web 调试工具.它可以拦截.查看.修改和重放来自 iOS 系统的 HTTP 请求. 你不需要连接电脑,HTTP Catcher 可以在后台 ...

  8. HTML CSS整理笔记

    ——修改placeholder提示的样式: 1.除IE外通用写法 类名或标签名::placeholder {color: red;}2.加兼容前缀写法 css超出一行显示省略号:给定宽度(width: ...

  9. Flask解析(一):Local、LocalStak、LocalProxy

    原创作者:flowell,转载请标明出处:https://www.cnblogs.com/flowell/p/local_local_proxy_local_stack.html Local是什么? ...

  10. 盘点飞思卡尔i.MX多媒体处理器前世今生 (转)

    现如今,移动处理器领域,大家关注最多的是德州仪器.高通.展讯.MTK,甚至包括Intel,但是请别忘记飞思卡尔,他的i.MX处理器已经发展到第六代. 那么我们今天就来盘点下i.MX的前世今生吧. i. ...