当前位置: 首页 > news >正文

PXE 装机(五十)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、PXE是什么

二、PXE的组件

三、配置vsftpd

四、配置tftp

五、准备pxelinx.0文件、引导文件、内核文件

​六、配置dhcp

七、创建default文件

八、配置pxe无人值守安装

九、开启客户端验证

总结



前言

PXE装机(Preboot Execution Environment)是一种无需使用光盘、U盘或其他物理介质,通过网络进行计算机系统安装的方法。它主要依赖于网络引导协议和网络引导服务器。

在PXE装机过程中,计算机首先在开机时通过BIOS或UEFI启动,并通过网络接口卡(NIC)发送一个特定的网络请求,寻找可用的PXE服务器。一旦找到PXE服务器,计算机会通过网络接收来自PXE服务器的引导程序。

PXE服务器通常会配备一个操作系统镜像库,其中包含了多个操作系统的安装镜像。一旦引导程序加载完成,计算机就可以在网络上选择合适的操作系统镜像,并通过网络下载到计算机内存中进行安装。

PXE装机的好处是节省了大量的物理介质和手动安装操作的时间和工作量。它尤其适用于需要批量安装计算机系统的场景,如企业级IT部门、数据中心等。

要使用PXE装机,需要满足以下条件:

  1. 一台或多台能够提供PXE服务的服务器,通常使用专用的PXE服务器软件。

  2. 网络环境,包括一个可用的网络接口卡和网络连接,以及正确配置的子网、网关和DNS服务器。

  3. 安装镜像库,包含了要安装的操作系统的镜像文件。

  4. 客户端计算机上的BIOS或UEFI配置,需启用PXE网络引导选项。

一旦满足了以上条件,就可以通过PXE装机系统来自动化和简化计算机系统的安装过程。


提示:以下是本篇文章正文内容,下面案例可供参考

一、PXE是什么

批量装机系统,网络安装linux操作系统。需要客户端的网卡支持pxe网络启动。

Kickstart:是一种无人值守的安装方式,提前定义好Linux安装过程的配置文件,名为 ks.cfg,这个文件预先定义了安装要求从而进行自动化安装;

PXE:预启动执行环境 是由Intel公司开发的最新技术,工作与C/S的网络模式,支持从 远端下载镜像,并由此支持通过网络启动操作系统;

二、PXE的组件

1. vsftpd/httpd/nfs

负责提供系统的安装文件

2. tftp

负责提供系统安装前的引导文件与内核文件

3. dhcp

负责提供客户端的IP地址分配与pxe引导文件,及pxe服务器地址

三、配置vsftpd

关闭防火墙与selinux

配置本地yum源

配置本机静态IP

安装vsftpd

启动vsftpd

拷贝系统文件到/var/ftp/

四、配置tftp

安装tftp-server

 yum install -y tftp-server

启动tftp

vim /etc/xinit.d/tftp

disable=no

systemctl start tftp

五、准备pxelinx.0文件、引导文件、内核文件

准备pxelinux.0文件

yum install -y syslinux

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot

准备引导文件、内核文件

cd  /光盘挂载路径/images/pxeboot/

cp initrd.img vmlinuz /var/lib/tftpboot

六、配置dhcp

安装dhcp服务

yum install -y dhcp

配置dhcp配置文件

cd /etc/dhcp/

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

vim dhcpd.conf

找到subnet字段,分别把2行、4行、5行对应的行数subnet全部删除。保留一下subnet:

subnet 192.168.100.0 netmask 255.255.255.0 {

  range 192.168.100.10 192.168.100.20;

  option domain-name-servers ns1.internal.example.org;

  option domain-name "internal.example.org";

  option routers 192.168.100.254;

  option broadcast-address 192.168.100.255;

  default-lease-time 600;

  max-lease-time 7200;

   next-server 192.168.100.254;

      filename "pxelinux.0";

}

启动dhcp服务

systemctl start dhcpd

七、创建default文件

更改挂载

cd /var/lib/tftpboot

mkdir pxelinux.cfg

cd pxelinux.cfg

vim default

default auto 默认安装标签

prompt 1 等待用户确认,1表示等待,0表示不等待

label auto 定义标签

        kernel vmlinuz 指定内核

        append initrd=initrd.img method=ftp://192.168.100.254/pub 指定引导镜像文件与系统安装文件

测试

重新建一个虚拟机——设置网络适配器为vmnet2——开机

加载完成后会显示以下界面,说明交互式完成

八、配置pxe无人值守安装

配置ks文件

(1)修改配置文件

vim /root/anaconda-ks.cfg

(2)使用图形界面配置

yum install -y system-config-kickstart.noarch

system-config-kickstart

弹出kickstart的配置界面

基本配置【默认语言】——【时区】——【Root密码】——安装后重启;

选择【安装方法】-【安装方法-FTP】-配置FTP服务器与目录;

配置分区信息,确认是否删除现存分区,设置新的分区;

设置网络配置,选择【添加网络设备】——网络设备:ens33;

修改防火墙配置,默认防火墙禁用;

默认安装图形化界面,可以取消;

其他的可以不用改,配置完成后,保存ks.cfg文件到对应的ftp路径;

文件保持路径为:/root,名称为ks.cfg;

保存完成后,查看

从/root/anaconda-ks.cfg文件中拷贝软件安装字段到ks.cfg

%packages

@^graphical-server-environment

@base

@core

@desktop-debugging

@development

@dial-up

@fonts

@gnome-desktop

@guest-agents

@guest-desktop-agents

@hardware-monitoring

@input-methods

@internet-browser

@multimedia

@print-client

@x11

%end

cp /root/ks.cfg /var/ftp

  1. 修改default文件

default auto

prompt 0

label auto

        kernel vmlinuz

        append initrd=initrd.img method=ftp://192.168.100.254/pub ks=ftp://192.168.44.128/ks.cfg

九、开启客户端验证

经过长时间的等待

输入用户名,密码登录


总结

以上就是今天的内容及详细的操作步骤,按照上面的步骤操作,是没有任何问题的。

相关文章:

PXE 装机(五十)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、PXE是什么 二、PXE的组件 三、配置vsftpd 四、配置tftp 五、准备pxelinx.0文件、引导文件、内核文件 ​六、配置dhcp 七、创建default文件 八、配置pxe无人值守…...

C++ 虚函数与纯虚函数

目录 1. 虚函数 2. 纯虚函数 C 中的虚函数和纯虚函数都是实现多态的重要机制。多态可以让不同的对象以相同的方式进行操作,从而简化代码的编写和维护。 1. 虚函数 虚函数是一种在基类中声明的函数,可以在派生类中进行重写。在运行时,根据对…...

警告:Provides transitive vulnerable dependency maven:org.yaml:snakeyaml:1.30

1. 警告 SpringBoot 的 validation 依赖包含有易受攻击的依赖 snakeyaml。 警告信息如下: Provides transitive vulnerable dependency maven:org.yaml:snakeyaml:1.30 意思是:提供了可传递的易受攻击依赖 maven:org.yaml:snakeyaml:1.30 2. 警告示例 …...

中文命名实体识别

本文通过people_daily_ner数据集,介绍两段式训练过程,第一阶段是训练下游任务模型,第二阶段是联合训练下游任务模型和预训练模型,来实现中文命名实体识别任务。 一.任务和数据集介绍 1.命名实体识别任务 NER(Named En…...

WPF CommunityToolkit.Mvvm Messenger通讯

文章目录 环境WeakReferenceMessenger方法介绍无回调订阅发送Token区分有回调订阅发送 环境 CommunityToolkit.Mvvm Messenger 十月的寒流: 如何使用 CommunityToolkit.Mvvm 中的 Messenger 来进行 ViewModel 之间的通信 WeakReferenceMessenger 我这里只讲简单的弱Messenger…...

【杂言】写在研究生开学季

这两天搬进了深研院的宿舍,比中南的本科宿舍好很多,所以个人还算满意。受台风 “苏拉” 的影响,原本的迎新计划全部打乱,导致我现在都还没报道。刚开学的半个月将被各类讲座、体检以及入学教育等活动占满,之后又是比较…...

渗透测试漏洞原理之---【任意文件读取漏洞】

文章目录 1、概述1.1、漏洞成因1.2、漏洞危害1.3、漏洞分类1.4、任意文件读取1.4.1、文件读取函数1.4.2、任意文件读取 1.5、任意文件下载1.5.1、一般情况1.5.2、PHP实现1.5.3、任意文件下载 2、任意文件读取攻防2.1、路径过滤2.1.1、过滤../ 2.2、简单绕过2.2.1、双写绕过2.2.…...

合宙Air724UG LuatOS-Air LVGL API控件-图片 (Image)

图片 (Image) 图片IMG是用于显示图像的基本对象类型,图像来源可以是文件,或者定义的符号。 示例代码 -- 创建图片控件 img lvgl.img_create(lvgl.scr_act(), nil) -- 设置图片显示的图像 lvgl.img_set_src(img, "/lua/luatos.png") -- 图片…...

仿京东 项目笔记2(注册登录)

这里写目录标题 1. 注册页面1.1 注册/登录页面——接口请求1.2 Vue开发中Element UI的样式穿透1.2.1 ::v-deep的使用1.2.2 elementUI Dialog内容区域显示滚动条 1.3 注册页面——步骤条和表单联动 stepsform1.4 注册页面——滑动拼图验证1.5 注册页面——element-ui组件Popover…...

Spark与Flink的区别

分析&回答 (1)设计理念 1、Spark的技术理念是使用微批来模拟流的计算,基于Micro-batch,数据流以时间为单位被切分为一个个批次,通过分布式数据集RDD进行批量处理,是一种伪实时。 2、Flink是基于事件驱动的,是面向流的处理框架, Flink基于…...

未来智造:珠三角引领人工智能产业集群

原创 | 文 BFT机器人 产业集群是指产业或产业群体在地理位置上集聚的现象,产业集群的研究对拉动区域经济发展,提高区域产业竞争力具有重要意义。 从我国人工智能产业集群形成及区域布局来看,我国人工智能产业发展主要集聚在京津冀、长三角、…...

【Unity db】sqlite

背景 最近使用unity,需要用到sqlite,记录下使用过程 需要的动态库 Mono.Data.Sqlite.dll,这个文件下载参考下面链接 SqliteConnection的Close和Open 连接的概念: 在数据库编程中,连接是一个重要的概念&#xff0c…...

Linux 指令心法(四)`touch` 创建一个新的空文件

文章目录 命令的概述和用途命令的用法命令行选项和参数的详细说明命令的示例命令的注意事项或提示 命令的概述和用途 touch 是一个用于在 Linux 和 Unix 系统中创建空文件或更改现有文件的访问和修改时间的命令。如果指定的文件不存在,touch会创建一个新的空文件&a…...

分类算法系列②:KNN算法

目录 KNN算法 1、简介 2、原理分析 数学原理 相关公式及其过程分析 距离度量 k值选择 分类决策规则 3、API 4、⭐案例实践 4.1、分析 4.2、代码 5、K-近邻算法总结 🍃作者介绍:准大三网络工程专业在读,努力学习Java,涉…...

12. 微积分 - 梯度积分

Hi,大家好。我是茶桁。 上一节课,我们讲了方向导数,并且在最后留了个小尾巴,是什么呢?就是梯度。 我们再来回看一下但是的这个式子: [ f x f y...

Large Language Models and Knowledge Graphs: Opportunities and Challenges

本文是LLM系列的文章,针对《Large Language Models and Knowledge Graphs: Opportunities and Challenges》的翻译。 大语言模型和知识图谱:机会与挑战 摘要1 引言2 社区内的共同辩论点3 机会和愿景4 关键研究主题和相关挑战5 前景 摘要 大型语言模型&…...

Python操作Excel教程(图文教程,超详细)Python xlwings模块详解,

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 xlwings模块详解 1、快速入门1、打开Excel2、创建工作簿2.1、使用工作簿2.2、操作…...

Java入门

Java导入包 import 主要用于导入在使用类前准备好了Import 关键字可以多次使用,导入多个包Import 关键字可以多次使用,导入多个类如果同一个包中需要大量的类,那么可以使用通配符进行导入如果Import了不同包,相同名称的类&#x…...

深度解析BERT:从理论到Pytorch实战

本文从BERT的基本概念和架构开始,详细讲解了其预训练和微调机制,并通过Python和PyTorch代码示例展示了如何在实际应用中使用这一模型。我们探讨了BERT的核心特点,包括其强大的注意力机制和与其他Transformer架构的差异。 关注TechLead&#x…...

小程序数据导出文件

小程序josn数据生成excel文件 先从下载传送门将xlsx.mini.min.js拷贝下来,新建xlsx.js文件放入小程序项目文件夹下。 const XLSX require(./xlsx)//在需要用的页面中引入// 定义导出 Excel 报表的方法exportData() {const that thislet newData [{time:2021,val…...

hadoop1.2.1伪分布式搭建

0.使用host-only方式 将Windows上的虚拟网卡改成跟Linux上的网卡在同一网段 注意:一定要将widonws上的WMnet1的IP设置和你的虚拟机在同一网段,但是IP不能相同 1.Linux环境配置(windows下面的防火墙也要关闭) 1.1修改主…...

【校招VIP】前端JavaScript语言之跨域

考点介绍: 什么是跨域?浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。跨域是前端校招的一个重要考点,在面试过程中经常遇到,需要着重掌握。本期分享的前端算法考点之…...

mysql调优小计

1.选择最合适的字段属性:类型、⻓度、是否允许NULL等;尽量把字段设为not null,⼀⾯查询时对⽐是否为null; 2.要尽量避免全表扫描,⾸先应考虑在 where 及 order by 涉及的列上建⽴索引。 3.应尽量避免在 where ⼦句中对…...

AI:04-基于机器学习的蘑菇分类

蘑菇是一类广泛分布的真菌,其中许多种类具有重要的食用和药用价值,但也存在着一些有毒蘑菇。因此,准确地区分可食用和有毒的蘑菇对于保障人们的食品安全和健康至关重要。本研究旨在基于机器学习技术开发一种蘑菇分类系统,以实现对蘑菇的自动分类和识别。通过构建合适的数据…...

算法——排序

排序 下面的代码会用到宏定义,因为再C中没有swap交换函数,所以对于swap的宏定义代码如下: #define swap(a, b) {\__typeof(a) __a a; a b; b __a;\ } 稳定排序: 1.插入排序: 插入排序会将数组,分位两个部…...

leetCode动态规划“不同路径II”

迷宫问题是比较经典的算法问题,一般可以用动态规划、回溯等方法进行解题,这道题目是我昨晚不同路径这道题趁热打铁继续做的,思路与原题差不多,只是有需要注意细节的地方,那么话不多说,直接上coding和解析&a…...

100天精通Python(可视化篇)——第99天:Pyecharts绘制多种炫酷K线图参数说明+代码实战

文章目录 专栏导读一、K线图介绍1. 说明2. 应用场景 二、配置说明三、K线图实战1. 普通k线图2. 添加辅助线3. k线图鼠标缩放4. 添加数据缩放滑块5. K线周期图表 书籍推荐 专栏导读 🔥🔥本文已收录于《100天精通Python从入门到就业》:本专栏专…...

哈希表与有序表

哈希表与有序表 Set结构 key Map结构 key-value 哈希表 哈希表的时间复杂度都是常数项级别的,但常数较大 增删改查的时间都是常数级别的,与数据量无关 当哈希表存储的值是基础数据类型(Integer - int),哈希表中内…...

什么时候使用RPA?如何使用RPA?需要什么样的硬件支持?需要安装哪些软件?

RPA(Robotic Process Automation)是一种用于自动化执行重复性任务的技术,它可以帮助企业提高工作效率,降低人力成本,并减少人为错误。RPA适用于各种行业和场景,例如财务、人力资源、客户服务、IT运维等。 …...

R语言入门——line和lines的区别

目录 0 引言一、 line()二、 lines() 0 引言 首先,从直观上看,lines比line多了一个s,但它们还是有很大的区别的,下面将具体解释这个两个函数的区别。 一、 line() 从R语言的帮助文档中找到,line()的使用&#xff0c…...