PXE批量装centos7系统

news2024/12/23 11:06:52

1.环境准备:

yum -y install tftp-server  xinetd #安装并启用 TFTP 服务
#修改TFTP服务的配置文件
vim /etc/xinetd.d/tftp 
protocol = udp                        # TFTP默认使用UDP协议
wait = no                             # no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接
server_args = -s /var/lib/tftpboot    # 指定TFTP根目录(引导文件的存储路径)
disable = no                          # no表示开启TFTP服务

#重启服务
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd

#安装并启用 DHCP 服务
yum -y install dhcp

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example    /etc/dhcp/dhcpd.conf

修改DHCP服务的配置文件
# vim /etc/dhcp/dhcpd.conf

# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

# option definitions common to all supported networks...
log-facility local7;

subnet 192.168.42.0 netmask 255.0.0.0 {          #指定为那个网段分配网络参数
   range 192.168.42.0 192.168.42.100;               #设置准备为客户端分配的IP地址范围
   option domain-name-servers 192.168.0.12;     #设置分配给客户端的DNS服务器地址
   option routers 192.168.0.2;                  #设置分配给客户端的网关地址。
   # option broadcast-address 10.5.5.31;     #广播地址,注释掉后用默认的
   default-lease-time 600;                       # 地址租赁时间 600秒后失效
   max-lease-time 7200; 
   next-server 192.168.42.12;                    # 下一个要访问的地址,就是tftp地址。
   filename "pxelinux.0";                         #要访问tftp上哪一个文件。
          }

#重启服务并设置自启动

systemctl start dhcpd
systemctl enable dhcpd
ss -tulanp|grep -w 67        #查看端口

2、准备Linux内核、初始化镜像

mount /dev/cdrom  /mnt         #先挂载光盘镜像

# 这里需要将两个重要文件复制到/var/lib/tftpboot/(vmlinuz、initrd.img)
cd /mnt/images/pxeboot                  
cp vmlinuz /var/lib/tftpboot/               #复制 Linux系统的内核文件 到TFTP根目录下
cp initrd.img /var/lib/tftpboot/            #复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下

3、准备PXE引导程序

yum -y install syslinux     # PXE引导程序由软件包 syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/    # 复制 PXE引导程序 到TFTP根目录下

4、安装FTP服务,准备CentOS 7 安装源

yum -y install vsftpd     # 安装vsftpd服务

mkdir /var/ftp/centos7    #  新建centos7目录,并将光盘镜像下的文件全部复制到centos7目录下

cp -rf /mnt/* /var/ftp/centos7/    

systemctl enable vsftpd
systemctl start vsftpd

5、关闭防火墙,验证 PXE 网络安装
使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错。
6、通过kickstart无人值守自动装机

```bash
#准备安装应答文件,安装system-config-kickstart 工具
yum install -y system-config-kickstart    # 需要图形化机器支持,没有图形化直接跳过

打开“Kickstart 配置程序”窗口 通过桌面菜单“应用程序”–>“系统工具”–>“Kickstart” 打开 或执行 “system-config-kickstart” 命令打开

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$vaNL5KxU$3IP6YfK3wcOYns3En/C8J1
# System language
lang zh_CN
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
#graphical   #是否选择有图形安装
text    #不选择图形安装
firstboot --disable
# SELinux configuration
selinux --disabled
skipx



# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Use network installation
url --url="ftp://192.168.171.170/centos"
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=2048
part /home --fstype="xfs" --size=2048
part / --fstype="xfs" --grow --asprimary --size=1

%packages
@^minimal
@core
@development
@system-admin-tools
gcc
glibc
gcc-c++
openssl-devel
openssh
tree
nmap
sysstat
lrzsz
vim
wget

%end


cp /root/ks.cfg /var/ftp/ks.cfg

7、配置启动菜单文件

```bash
# 默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default
mkdir /var/lib/tftpboot/pxelinux.cfg         # 需要在ftfpboot目录下创建pxelinux.cfg
# vim /var/lib/tftpboot/pxelinux.cfg/default   # 在pxelinux.cfg目录下创建default并编辑配置文件

default auto
prompt 0    #设置是否等待用户选择,“0”表示不等待用户控制


label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.42.170/centos7 ks=ftp://192.168.42.170/ks.cfg     ##添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.42.170/centos7
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.42.170/centos7



# 重启TFTP服务
systemctl restart tftp

8、新建虚机测试
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1553648.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript高级 —— 学习(一)

目录 一、作用域 (一)局部作用域 1.函数作用域 2.块作用域 (二)全局作用域 二、垃圾回收机制 GC (一)生命周期 1.内存分配 2.内存使用 3.内存回收 4.特殊情况——内存泄漏: 注意&…

【MySQL】数据库--表操作

目录 一、创建表 二、查看表 三、修改表 1. 添加字段--add 2.修改表名--rename to 3.修改列名--change 4.修改字段的数据类型--modify 5.删除字段(列)--drop 四、删除表 一、创建表 create [temporary]table[if not exists]table_name [([colu…

答题小程序功能细节揭秘:如何提升用户体验和满足用户需求?

答题小程序功能细节体现 随着移动互联网的快速发展,答题小程序成为了用户获取知识、娱乐休闲的重要平台。一款优秀的答题小程序不仅应该具备简洁易用的界面设计,更应该在功能细节上做到极致,以提升用户体验和满足用户需求。本文将从题库随机…

Java毕业设计-基于springboot开发的游戏分享网站平台-毕业论文+答辩PPT(附源代码+演示视频)

文章目录 前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1、开发说明2、需求分析3、系统功能结构 三、系统实现展示1、系统功能模块2、后台登录2.1管理员功能模块2.2用户功能模块 四、毕设内容和源代码获取总结 Java毕业设计-基于springboot开发的…

类与对象中C++

加油!!! 文章目录 前言 一、类的6个默认成员函数 ​编辑 二、构造函数 1.概念 三、析构函数 1.概念 2.特性 四、拷贝构造函数 1.概念 2.特征 拷贝构造函数典型调用场景 五、赋值运算符重载 1.运算符重载 2.赋值运算符重载 赋值运算符重载格式…

Day24:私信列表、私信详情、发送私信

测试用户:用户名aaa 密码aaa 查询当前用户的会话列表;每个会话只显示一条最新的私信;支持分页显示。 首先看下表结构: conversation_id: 用from_id和to_id拼接,小的放前面去(因为两个人的对话应该在一个会…

如何使用剪映专业版剪辑视频

1.操作界面功能介绍 2.时间线的使用 拖动前端后端缩减时长,有多个素材可以拖动调节前后顺序拼接。 分割视频 删除

新零售SaaS架构:客户管理系统的应用架构设计

客户管理系统的应用架构设计 应用层定义了软件系统的应用功能,负责接收用户的请求,协调领域层能力来执行任务,并将结果返回给用户,功能模块包括: 客户管理:核心功能模块,负责收集和更新客户信息…

FPGA时钟资源详解(3)——全局时钟资源

FPGA时钟系列文章总览:FPGA原理与结构(14)——时钟资源https://ztzhang.blog.csdn.net/article/details/132307564 一、概述 全局时钟是 FPGA 中的一种专用互连网络,旨在将时钟信号分配到 FPGA 内各种资源的时钟输入处。这种设计…

探索数据库--------------mysql主从复制和读写分离

目录 前言 为什么要主从复制? 主从复制谁复制谁? 数据放在什么地方? 一、mysql支持的复制类型 1.1STATEMENT:基于语句的复制 1.2ROW:基于行的复制 1.3MIXED:混合类型的复制 二、主从复制的工作过程 三个重…

IMU评估产后腹直肌分离康复训练

腹直肌分离(Diastasis Recti Abdominis,DRA)是由腹部纤维联结组织——腹白线的过度伸张所致,这项研究的目标是通过惯性测量单元(IMU)感应器信号来分析产后康复。传统的康复方式通常包括针对性的物理疗法&am…

《QT实用小工具·一》电池电量组件

1、概述 项目源码放在文章末尾 本项目实现了一个电池电量控件,包含如下功能: 可设置电池电量,动态切换电池电量变化。可设置电池电量警戒值。可设置电池电量正常颜色和报警颜色。可设置边框渐变颜色。可设置电量变化时每次移动的步长。可设置…

CleanMyMac X 4.15.1 for Mac 最新中文破解版 系统优化垃圾清理工具

CleanMyMac X for Mac 是一款功能更加强大的系统优化清理工具,相比于 CleanMyMac 4.15.1来说,功能增加了不少,此版本为4.15.1官方最新中英文正式破解版本,永久使用,解决了打开软件崩溃问题,最新版4.15.1版本…

neo4j相同查询语句一次查询特慢再次查询比较快。

现象&#xff1a; neo4j相同查询语句一次查询特慢再次查询比较快。 分析&#xff1a; 查询语句 //查询同名方法match(path:Method) where id(path) in [244333030] and NOT path:Constructor//是rpc的方法match(rpc_method:Method)<-[:DECLARES]-(rpc_method_cls:Class) -…

2024年智能版控费系统方案卓健易控

2024年智能版控费系统方案卓健易控 详细可咨询&#xff1a;19138173009 设备智能卓健易控ZJ-V8.0控费方案在科学和技术不断发展的背景下&#xff0c;逐渐实现了更新和迭代。现如今&#xff0c;感应技术、生物识别技术、智能图像识别技术、过程记录技术、监管控制技术等方面的…

Pytorch的hook函数

hook函数是勾子函数&#xff0c;用于在不改变原始模型结构的情况下&#xff0c;注入一些新的代码用于调试和检验模型&#xff0c;常见的用法有保留非叶子结点的梯度数据&#xff08;Pytorch的非叶子节点的梯度数据在计算完毕之后就会被删除&#xff0c;访问的时候会显示为None&…

解析为什么使用celery的task装饰就有delay属性

分析task装饰器原理 from celery.task import periodic_task task源码如下 def task(*args, **kwargs):"""Deprecated decorator, please use :func:celery.task."""return current_app.task(*args, **dict({base: Task}, **kwargs))这里回调…

JavaSE day14笔记

第十四天课堂笔记 课上: 适当做笔记课下 : 总结 , 读代码 , 反复敲代码 , 做练习 数组★★★ 数组 : 存储多个 同一类型 的容器格式 :数组类型 : 引用数据类型, new运算符在堆中 分配一块连续的存储空间 , 系统会给数组元素默认初始化 , 将该数组的引用赋值给数组名 引用数据…

如何在Win10使用IIS服务搭建WebDAV网站并实现无公网IP访问内网文件内容

文章目录 前言1. 安装IIS必要WebDav组件2. 客户端测试3. 使用cpolar内网穿透&#xff0c;将WebDav服务暴露在公网3.1 安装cpolar内网穿透3.2 配置WebDav公网访问地址 4. 映射本地盘符访问 前言 在Windows上如何搭建WebDav&#xff0c;并且结合cpolar的内网穿透工具实现在公网访…

腾讯云4核8G服务器价格,12M带宽一年646元,送3个月

2024年腾讯云4核8G服务器租用优惠价格&#xff1a;轻量应用服务器4核8G12M带宽646元15个月&#xff0c;CVM云服务器S5实例优惠价格1437.24元买一年送3个月&#xff0c;腾讯云4核8G服务器活动页面 txybk.com/go/txy 活动链接打开如下图&#xff1a; 腾讯云4核8G服务器优惠价格 轻…