shell基础之pxe批量部署
通过安装及配置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批量部署相关推荐
- PXE批量部署linux操作系统
前言 在实际生产环境中,有时候我们会碰到为几十上百甚至上千台服务器安装Linux操作系统的需求,如果我们还是常规的去使用移动介质逐台安装,显然是一件低效又令人抓狂的事情,那要安装到何年何月啊?这对于我 ...
- linux ipxe 自动windows,PXE批量部署Linux五:使用iPXE代替PXELINUX
PXELINUX基本已经没有人在维护了,iPXE在支持HTTP等高级传输协议的同时还支持动态语言php之类的解析,同时还可以烧录在网卡上替代网卡出厂设置. 唯一比PXELINUX复杂的是这玩意需要自己 ...
- 使用FAI+PXE批量部署Debian。
内容直接看:http://os.51cto.com/art/201102/245803.htm
- linux批量安装系统uefi,PXE批量部署Linux之四:一台服务器同时支持BIOS和UEFI
dnsmasq选(bu)项(hui)简(pei)单(zhi),这里换高级的DHCP,同时搭建tftp服务器 因为uefi和bios平台用到的vesamenu.c32文件不同,我们重新规划tftp目录如 ...
- PXE实现批量部署linux系统
pxe批量部署linux服务器 1.pxe介绍 PXE是有intel设计的协议,它可以使计算机通过网络启动,协议分为client和server两端,PXEclient在网卡的ROM中,当计算机引导时, ...
- 自动化部署操作系统-Kickstart+PXE自动部署
Kickstart+PXE自动部署 目录: 无人值守安装简介 实战:PXE批量部署linux操作系统 前言 部署dhcp服务 HTTP服务 TFTP服务 复制PXE启动时需要的文件 修改引导启动菜单 ...
- 十四、MDT 2013 Update 1批量部署-微软WDS/PXE部署及其部署安装实战
十四.MDT 2013 Update 1批量部署-微软WDS/PXE部署及其部署安装实战 微软WDS是服务器操作系统的部署服务,可以利用PXE网络环境实现部署服务,MDT 2013 UPDATE 1可 ...
- 项目上线的流程 shell基础-进阶 mysql安装 数据库基本操作 LAMP环境的部署 linux配置数据库远程连接
三,项目上线流程(必须掌握) 1,服务器选配购买 项目上线服务器必须是外网服务器 一般服务器有两种:购买真实服务器,购买虚拟服务器 购买真实服务器一次性成本过高 所以现在基本都是云服务器 以后以阿里云 ...
- ansible批量部署
ansible ansible是一种自动化运维工具,基于paramiko开发的,并且基于模块化工作,Ansible是一种集成IT系统的配置管理.应用部署.执行特定任务的开源平台,它是基于python语 ...
- shell编程===》shell基础
文章目录 shell基础 一 编程与编程语言 二 编程语言分类 三 计算机完整体系结构图 四 shell介绍 五 第一个shell程序 1. 编写shell程序的两种环境 2.编写shell脚本程序 ...
最新文章
- 爱上MVC3系列~开发一个站点地图(俗称面包屑)
- R语言使用aov函数进行单因素协方差分析(One-way ANCOVA)、单因素协方差分析(ANCOVA)扩展了单因素方差分析,包括一个或多个协变量(covariates)
- AWS EBS是 Elastic Block Store 的简写
- 【运筹学】表上作业法 ( 最小元素法分析 | Vogel 方法 )
- 软件架构设计之常用架构模式
- linux轻量级进程LWP
- mysql看表关联视图_MySQL数据库 : 自关联,视图,事物,索引
- 封包时发现的关于QIODevice类write函数的坑
- 访问linux端口失败_教你如何配置Linux服务器防火墙端口规则
- Reversing.Kr replace题解
- PHP/JS中获取当前页面的完整URL
- [LeetCode] Three Sum题解
- windows下cmd下载文件
- VXLAN技术学习笔记
- 2021-09-10 网安实验-文件修复-各种文件的文件头
- 小学必背古诗词80首(带拼音)
- 【VOLTE】【高清语音】什么是高清语音
- untiy Socket通信一篇通
- 通过智能一体化管理系统自定义表单和自定义字段设计
- 3D标签云效果的实现
热门文章
- 「代码随想录」121. 买卖股票的最佳时机【贪心】【动态规划】力扣/leetcode详解
- leetcode [35]搜索插入位置/Search Insert Position 优雅的暴力可能比二分查找效率更高
- poj 1958 Strange Towers of Hanoi dp,需要仔细读题
- Mac 空间不足,4 招帮你释放空间
- DEVONthink Pro作为浏览器插件脚本,如何使用
- 019-批量修改redis TTL和批量删除key
- “梅丽莎”病毒背后的神秘黑客
- Server Develop (四) select实现非阻塞sever
- linux里命令pkg-config工具的使用
- B树与B+树 有动画