#!/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. Centos7安装及配置DHCP服务

    DHCP服务概述: 名称:DHCP  - Dynamic Host Configuration Protocol  动态主机配置协议. 功能:DHCP(Dynamic Host Configurati ...

  2. sublime text插件emmet自定义模板

    首先要找到 snippets.json这个文件,路径是preferences>browse packages,看看有没有emmet目录. 如果没有,可能是您没有安装emmet插件,或者您安装了但 ...

  3. HTML DIV充满整个屏幕

    <!DOCTYPE html> <html> <head> <title>A Little Game!</title> <meta c ...

  4. 就改了get,却不让我set?——Java内省机制的神奇行为举止一例

    [相关类库]org.apache.commons.beanutils.BeanUtils,提供对Java反射和自省API的包装,其中底层使用到了Java的内省方法.[内省的一般应用形式]通过类Intr ...

  5. Vue全局组件注册

    通过Vue.component(‘组件名’, {配置对象})注册全局组件 在main.js中注册全局组件 test import Vue from 'vue' import App from './A ...

  6. .NET中国开发者峰会11.9 下午分会场1 内容解析

    China .NET Conf 2019中国 .NET 开发者峰会即将在上海召开,这次大会是一届完全由社区组织举办的中国.NET 开发者盛会,我们筹备大会之初就定下了大会的主题是“开源.共享.创新”. ...

  7. 解决IDEA下SpringBoot启动没有Run Dashboard并找回

    前两天看到别人SpringBoot启动服务,启动器是长这样的 而我的呢?是这样的 Run Dashboard 它是一个代替Run窗口的一个更好清晰简洁的一个启动器. 如果我们需要启动多个窗口时,Run ...

  8. MySQL操作(一)用户及权限

    一.mysql 里的所有用户都是存储在数据库mysql的user表里 二.创建普通用户.赋权.撤销权限 的操作 1.创建用户(需要先用root进去mysql)格式:create  user  '用户名 ...

  9. Sublime Text 常用快捷键(Mac环境)

    Shift + Cmd + P 显示命令面板 Cmd + P 快速查找目录和文件,跳转到任意地方 Cmd + P 输入 @ ,可以查找文件中的函数 Cmd + P 输入 # ,可以查找文件中的字符 C ...

  10. (三)快速添加touch事件

    EasyTouch提供了类似UGUI的可视化点击事件,如button类似,此功能可以快速实现三维物体的旋转缩放.在场景中新建cube然后添加组件,输入quick会出现一下一个选项: quick dra ...