通过安装及配置DHCP,tftp-server,xinetd,httpd,syslinux来实现批量安装Linux系统

 1 #!/bin/bash
 2 #检查环境
 3 se_state=`getenforce`
 4 if [ $se_state != "Disabled" ];then
 5 setenforce 0
 6 sed -i's/=enforcing/=disabled/g' /etc/selinux/config
 7 fi
 8 systemctl start firewalld
 9 systemctl enable firewalld
10 #检查yum源
11 mo_point=`ls / |grep local_dvd`
12 if [ -z $mo_point ];then
13 mkdir /local_dvd
14 mount /dev/cdrom /local_dvd
15 echo "/dev/sr0 /local_dvd iso9660 defaults 0 0 " >> /etc/fstab
16 rm -rf /etc/yum.repos.d/*.repo
17 echo "[local]
18 name=local
19 baseurl=file:///local_dvd
20 enabled=1
21 gpgcheck=0" >> /etc/yum.repos.d/local.repo
22 yum clean all
23 yum repolist
24 fi
25 #安装服务
26 yum -y install dhcp tftp-server xinetd httpd syslinux
27 #配置DHCP
28 IP=`ifconfig |grep -w inet |grep broad |awk '{print $2}'`
29 NETM=`ifconfig |grep -w netmask |grep broad |awk '{print $4}'`
30 NETW=`echo $IP |awk -F. '{print $1"."$2"."$3}'`
31 echo "option domain-name \"example.org\";
32 option domain-name-servers ns1.example.org, ns2.example.org;
33 default-lease-time 600;
34 max-lease-time 7200;
35 log-facility local7;
36 subnet $NETW.0 netmask $NETM {
37   range $NETW.10 $NETW.200;
38   option routers $IP;
39   filename \"pxelinux.0\";
40   next-server $IP;
41 }" > /etc/dhcp/dhcpd.conf
42 #配置tftp
43 mkdir /tftpboot
44 sed -i '13s/\/var\/lib//g' /etc/xinetd.d/tftp
45 sed -i '14s/yes/no/g' /etc/xinetd.d/tftp
46 #配置httpd,挂载系统光盘
47 mkdir /var/www/html/http_iso
48 mount /dev/cdrom /var/www/html/http_iso
49 echo "/dev/cdrom /var/www/html/http_iso iso9660 defaults 0 0 " >> /etc/fstab
50 #拷贝引导程序到tftp目录下
51 cp /var/www/html/http_iso/isolinux/vmlinuz /tftpboot
52 cp /var/www/html/http_iso/isolinux/initrd.img /tftpboot
53 mkdir /tftpboot/pxelinux.cfg
54 cp /var/www/html/http_iso/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
55 cp /usr/share/syslinux/pxelinux.0 /tftpboot
56 #修改默认启动程序
57 sed -i '1s/vesamenu.c32/ks/g' /tftpboot/pxelinux.cfg/default
58 sed -i 120d /tftpboot/pxelinux.cfg/default
59 echo "label ks
60   menu label ^Install CentOS 7
61   kernel vmlinuz
62   append initrd=initrd.img method=http://$IP/http_iso ks=http://$IP/ks.cfg devfs=nomount
63 menu end " >> /tftpboot/pxelinux.cfg/default
64 #拷贝ks文件到httpd工作目录下
65 cp ~/anaconda-ks.cfg /var/www/html/ks.cfg
66 #给ks文件增加可读权限
67 chmod a+r /var/www/html/ks.cfg
68 #修改ks文件的系统安装方式
69 sed -i '1,10s/cdrom/install/g' /var/www/html/ks.cfg
70 sed -i 5a"url --url=\"http://$IP/http_iso\"" /var/www/html/ks.cfg
71 #启动服务
72 systemctl restart dhcpd httpd xinetd
73 systemctl enable dhcpd httpd xinetd
74 #添加防火墙
75 firewall-cmd --add-port=67/udp --permanent
76 firewall-cmd --add-port=69/udp --permanent
77 firewall-cmd --add-port=80/tcp --permanent
78 firewall-cmd --reload

转载于:https://www.cnblogs.com/renyz/p/11295008.html

shell基础之pxe批量部署相关推荐

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

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

  2. linux ipxe 自动windows,PXE批量部署Linux五:使用iPXE代替PXELINUX

    PXELINUX基本已经没有人在维护了,iPXE在支持HTTP等高级传输协议的同时还支持动态语言php之类的解析,同时还可以烧录在网卡上替代网卡出厂设置. 唯一比PXELINUX复杂的是这玩意需要自己 ...

  3. 使用FAI+PXE批量部署Debian。

    内容直接看:http://os.51cto.com/art/201102/245803.htm

  4. linux批量安装系统uefi,PXE批量部署Linux之四:一台服务器同时支持BIOS和UEFI

    dnsmasq选(bu)项(hui)简(pei)单(zhi),这里换高级的DHCP,同时搭建tftp服务器 因为uefi和bios平台用到的vesamenu.c32文件不同,我们重新规划tftp目录如 ...

  5. PXE实现批量部署linux系统

    pxe批量部署linux服务器 1.pxe介绍 PXE是有intel设计的协议,它可以使计算机通过网络启动,协议分为client和server两端,PXEclient在网卡的ROM中,当计算机引导时, ...

  6. 自动化部署操作系统-Kickstart+PXE自动部署

    Kickstart+PXE自动部署 目录: 无人值守安装简介 实战:PXE批量部署linux操作系统 前言 部署dhcp服务 HTTP服务 TFTP服务 复制PXE启动时需要的文件 修改引导启动菜单 ...

  7. 十四、MDT 2013 Update 1批量部署-微软WDS/PXE部署及其部署安装实战

    十四.MDT 2013 Update 1批量部署-微软WDS/PXE部署及其部署安装实战 微软WDS是服务器操作系统的部署服务,可以利用PXE网络环境实现部署服务,MDT 2013 UPDATE 1可 ...

  8. 项目上线的流程 shell基础-进阶 mysql安装 数据库基本操作 LAMP环境的部署 linux配置数据库远程连接

    三,项目上线流程(必须掌握) 1,服务器选配购买 项目上线服务器必须是外网服务器 一般服务器有两种:购买真实服务器,购买虚拟服务器 购买真实服务器一次性成本过高 所以现在基本都是云服务器 以后以阿里云 ...

  9. ansible批量部署

    ansible ansible是一种自动化运维工具,基于paramiko开发的,并且基于模块化工作,Ansible是一种集成IT系统的配置管理.应用部署.执行特定任务的开源平台,它是基于python语 ...

  10. shell编程===》shell基础

    文章目录 shell基础 一 编程与编程语言 二 编程语言分类 三 计算机完整体系结构图 四 shell介绍 五 第一个shell程序 1. 编写shell程序的两种环境 2.编写shell脚本程序 ...

最新文章

  1. 爱上MVC3系列~开发一个站点地图(俗称面包屑)
  2. R语言使用aov函数进行单因素协方差分析(One-way ANCOVA)、单因素协方差分析(ANCOVA)扩展了单因素方差分析,包括一个或多个协变量(covariates)
  3. AWS EBS是 Elastic Block Store 的简写
  4. 【运筹学】表上作业法 ( 最小元素法分析 | Vogel 方法 )
  5. 软件架构设计之常用架构模式
  6. linux轻量级进程LWP
  7. mysql看表关联视图_MySQL数据库 : 自关联,视图,事物,索引
  8. 封包时发现的关于QIODevice类write函数的坑
  9. 访问linux端口失败_教你如何配置Linux服务器防火墙端口规则
  10. Reversing.Kr replace题解
  11. PHP/JS中获取当前页面的完整URL
  12. [LeetCode] Three Sum题解
  13. windows下cmd下载文件
  14. VXLAN技术学习笔记
  15. 2021-09-10 网安实验-文件修复-各种文件的文件头
  16. 小学必背古诗词80首(带拼音)
  17. 【VOLTE】【高清语音】什么是高清语音
  18. untiy Socket通信一篇通
  19. 通过智能一体化管理系统自定义表单和自定义字段设计
  20. 3D标签云效果的实现

热门文章

  1. 「代码随想录」121. 买卖股票的最佳时机【贪心】【动态规划】力扣/leetcode详解
  2. leetcode [35]搜索插入位置/Search Insert Position 优雅的暴力可能比二分查找效率更高
  3. poj 1958 Strange Towers of Hanoi dp,需要仔细读题
  4. Mac 空间不足,4 招帮你释放空间
  5. DEVONthink Pro作为浏览器插件脚本,如何使用
  6. 019-批量修改redis TTL和批量删除key
  7. “梅丽莎”病毒背后的神秘黑客
  8. Server Develop (四) select实现非阻塞sever
  9. linux里命令pkg-config工具的使用
  10. B树与B+树 有动画