如果使用的是原始源,可直接使用该脚本,如果是用的其它源且有cobbler安装包的可删除脚本中的配置yum源步骤。批量部署使用的软件有:cobbler dhcp httpd tftp-server xinetd syslinux pykickstart,其中pykickstart可以不装。

 1 #!/bin/bash
2 #检查环境
3 setenforce 0
4 sed -i 's/=enforcing/=disabled/g' /etc/selinux/config
5 systemctl start firewalld
6 systemctl enable firewalld
7 #使用原始源的情况下,增加yum源(原始源无cobbler)
8 YUM=$(ls /etc/yum.repos.d/ |wc -w)
9 if [ "$YUM" -ge 6 ];then
10 echo "
11 [epel]
12 name=epel
13 enabled=1
14 gpgcheck=0
15 baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
16 [centos]
17 name=centos base
18 enabled=1
19 gpgcheck=0
20 baseurl=http://mirrors.163.com/centos/7/os/x86_64/ " > /etc/yum.repos.d/add.repo
21 yum clean all
22 fi
23 #下载所需软件
24 yum -y install cobbler dhcp httpd tftp-server xinetd syslinux pykickstart
25 #配置DHCP
26 IP=`ip a |grep global |awk '{print $2}' |cut -d "/" -f 1`
27 NETM=`ifconfig |grep -w netmask |grep broad |awk '{print $4}'`
28 NETW=`echo $IP |awk -F. '{print $1"."$2"."$3}'`
29 echo "option domain-name \"example.org\";
30 option domain-name-servers ns1.example.org, ns2.example.org;
31 default-lease-time 600;
32 max-lease-time 7200;
33 log-facility local7;
34 subnet $NETW.0 netmask $NETM {
35 range $NETW.10 $NETW.200;
36 option routers $IP;
37 filename \"pxelinux.0\";
38 }" > /etc/dhcp/dhcpd.conf
39 systemctl restart dhcpd
40 systemctl enable dhcpd
41 #配置tftp
42 sed -i '14s/yes/no/g' /etc/xinetd.d/tftp
43 systemctl restart xinetd
44 systemctl enable xinetd
45 #cobbler配置
46 systemctl restart httpd
47 systemctl restart cobblerd
48 systemctl enable httpd cobblerd
49 #cobbler自检
50 cobbler check
51 #修改提示内容
52 sed -i "384s/127.0.0.1/$IP/g" /etc/cobbler/settings
53 sed -i "272s/127.0.0.1/$IP/g" /etc/cobbler/settings
54 systemctl restart rsyncd
55 systemctl enable rsyncd
56 sed -i 101c'default_password_crypted: "$1$0304$1/zFgAR4H1NVwCAgquTcW1"' /etc/cobbler/settings
57 systemctl restart cobblerd
58 cobbler check
59 cobbler sync
60 #挂载光盘
61 mount /dev/cdrom /mnt
62 #生成distro
63 cobbler import --path="/mnt" --name="centos7"
64 cobbler distro list
65 #创建ks文件
66 cp /root/anaconda-ks.cfg /var/lib/cobbler/kickstarts/ks.cfg
67 sed -i 5c"url --url=http://$IP/cobbler/ks_mirror/centos7/" /var/lib/cobbler/kickstarts/ks.cfg
68 #创建profile
69 cobbler profile add --distro="centos7-x86_64" --name="centos7_renren" --kickstart="/var/lib/cobbler/kickstarts/ks.cfg"
70 cobbler profile list
71 #删除不包含kickstart文件
72 cobbler profile remove --name="centos7-x86_64"
73 #添加防火墙
74 firewall-cmd --add-port=67/udp --permanent
75 firewall-cmd --add-port=69/udp --permanent
76 firewall-cmd --add-port=80/tcp --permanent
77 firewall-cmd --add-port=25151/tcp --permanent
78 firewall-cmd --reload

shell应用之cobbler批量部署的更多相关文章

  1. 使用Cobbler批量部署Linux和Windows:Cobbler服务端部署(一)

    本文记录了我使用Cobbler批量安装部署Linux和Windows系统的过程,文章主要分为三部分:Cobbler服务端的安装配置.Linux发行版CentOS和Ubuntu的自动安装部署.Windo ...

  2. (转)使用Cobbler批量部署Linux和Windows:Cobbler服务端部署(一)

    原文:http://www.cnblogs.com/pluse/p/8316914.html http://blog.51cto.com/dreamway/1166589---------Cobble ...

  3. Cobbler批量部署CentOS

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

  4. 使用Cobbler批量部署Linux和Windows:CentOS/Ubuntu批量安装(二)

    通过前面服务端的部署,已经配置好了 Cobbler Server 端,接下来开始进行 CentOS/Ubuntu 的批量安装,在进行 CentOS/Ubuntu 批量安装时,也需要通过Cobbler来 ...

  5. 使用Cobbler批量部署Linux和Windows:Windows系统批量安装(三)

    Tutorial: Installing Windows with cobbler (cobbler安装Windows) Windows系统的自动安装需要用到Win PE工具.流程如下: 定制Win ...

  6. Linux服务之cobbler批量部署篇

    一.Cobbler简介:Cobbler通过将设置和管理一个安装服务器所涉及的任务集中在一起,从而简化了系统配置.相当于Cobbler封装了DHCP.TFTP.XINTED等服务,结合了PXE.kick ...

  7. shell基础之pxe批量部署

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

  8. Cobbler自动化批量部署CentOS6.5系统

    Cobbler作为一个预备工具,使批量部署Red Hat/Centos/Fedora系统更容易,同时也支持Suse和Debian系统的部署. 它提供以下服务集成: * PXE服务支持 * DHCP服务 ...

  9. centos7使用cobbler(2.8)批量部署操作系统之一

    一.    批量部署操作系统的前提 要想批量部署操作系统,得具备以下条件: 客户机支持pxe网络引导 服务器端和客户端建立网络通信(DHCP) 服务器端要有可供客户机开机引导的引导文件 服务器端的可引 ...

随机推荐

  1. Spring (三)SpringAoP

    1.Spring 的 AOP 简介 1.1 什么是 AOP AOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能 ...

  2. 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之系统安装-03

    自动化kolla-ansible部署ubuntu20.04+openstack-victoria之系统安装-03  欢迎加QQ群:1026880196  进行交流学习 一.镜像下载 网易源: http ...

  3. JAVAEE_Servlet_12_获取前端页面请求方式 HttpServletRequest HttpServletResponse

    获取前端页面请求方式 * 前端页面发送的请求方式应该是后端服务器需要的请求方式保持一致,若不一致应该提示错误信息. * 获取到前端的请求方式之后通过if语句进行判断, if("GET&quo ...

  4. 通过Dapr实现一个简单的基于.net的微服务电商系统(七)——一步一步教你如何撸Dapr之服务限流

    在一般的互联网应用中限流是一个比较常见的场景,也有很多常见的方式可以实现对应用的限流比如通过令牌桶通过滑动窗口等等方式都可以实现,也可以在整个请求流程中进行限流比如客户端限流就是在客户端通过随机数直接 ...

  5. math random模块

    math --- 数学函数 该模块提供了对C标准定义的数学函数的访问,返回值除非有明确说明,否则所有返回值均为浮点数 math.ceil(x) 返回 x 的上限,即大于或者等于 x 的最小整数. 如果 ...

  6. Java IO流知识总结

    Java IO的原理 I/O是Input和Output的缩写,用来处理设备之间的数据传输.如读/写文件,网络通讯等. Java程序中,对于数据的输入/输出操作以"流(stream)" ...

  7. 深入探究ASP.NET Core读取Request.Body的正确方式

    前言 相信大家在使用ASP.NET Core进行开发的时候,肯定会涉及到读取Request.Body的场景,毕竟我们大部分的POST请求都是将数据存放到Http的Body当中.因为笔者日常开发所使用的 ...

  8. 测试工具PerfDog的使用

    使用操作:https://www.jianshu.com/p/cc04c710e643下载地址:https://perfdog.qq.com/

  9. 030- 控制语句if…else…

    语法: 第一种结构: if(boolean表达式){ java语句; } 解释:如果if后面的boolean表达式是true就执行大括号里面的java语句 如果是false就不执行大括号中的java语 ...

  10. 【小技巧】Windows 小技巧

    快捷键: 1.Win7窗口最大化和最小化快捷键 最大化:window+↑ 最小化:window+↓