如果使用的是原始源,可直接使用该脚本,如果是用的其它源且有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. 敏捷史话(十四):敏捷之峰的攀登者 —— Jim Highsmith

    "我们希望,一起组成的敏捷联盟能够帮助到其他同行,帮他们用新的更'敏捷'的方式去思考软件开发.方法论和组织.做到这一点,我们就得偿所愿了."Jim Highsmith 在雪鸟会议结 ...

  2. Tensorflow Serving 参数

    Flags: --port=8500 int32 Port to listen on for gRPC API --grpc_socket_path="" string If no ...

  3. 【运维】Shell -- 快速上手Shell脚本

    1.Shell概述 shell脚本是利用shell的功能所写的一个[程序(program)].这个程序是使用纯文本文件,将一些shell的语法与命令(含外部命令)写在里面,搭配正则表达式.管道命令与数 ...

  4. Android使用ContentProvider初始化SDK库方案总结

    做Android SDK开发的时候,一般我们会将初始化的方法封装为,然后让调用SDK的开发者在Application的onCreate方法中进行初始化.但是目前一些主流的SDK框架,并没有提供相关的方 ...

  5. zipfile tarfile模块

    zipfile --- 使用ZIP存档 这个模块提供了创建.读取.写入.添加及列出 ZIP 文件的工具 # 创建一个ZipFile对象, 可使用上下文管理 with class zipfile.Zip ...

  6. Java设计模式(一):设计模式概述、UML图、设计原则

    1 设计模式概述 1.1 软件设计模式的产生背景 "设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中. 1977年美国著名建筑大师.加利福尼亚大学伯克利分校环境结构 ...

  7. 计算机网络——RIP协议:距离向量算法

    路由信息协议(RIP)是内部网关协议(IGP)中使用最广泛的一种协议,它是一种分布式.基于距离向量的路由选择协议,其特点是协议简单.它要求路由器周期性地向外发送路由刷新报文.路由刷新报文主要内容是由若 ...

  8. Java集合原理分析和知识点大杂烩(多图初学者必备!!)

    一.数据结构 ​ 数据结构就是计算机存储.组织数据的方式. ​ 在计算机科学中,算法的时间复杂度是一个函数,它定性描述了该算法的运行时间,常用O符号来表述. ​ 时间复杂度是同一问题可用不同算法解决, ...

  9. Vue2.0组件之间通信

    Vue中组件这个特性让不少前端er非常喜欢,我自己也是其中之一,它让前端的组件式开发更加合理和简单.笔者之前有写过一篇Vue2.0子父组件通信,这次我们就来聊一聊平级组件之间的通信. 首先我们先搭好开 ...

  10. hdu1428 spfa+记忆化搜索

    题意:      题意坑爹,很容易误认成是做短路的条数,题意是给你一个图,让你从起点走到终点,问你有多少种走法,但有一个限制,假如你想从a走到b,必须满足终点到b的最短距离小于终点到a的最短距离. 思 ...