小白带你学习linux的PXE装机
目录
目录
一、PXE是什么?
二、PXE的组件:
1、vsftpd/httpd/nfs
2、tftp
3、dhcp
三、配置dhcp
1、关闭防火墙与selinux和配置本地yum源
2、安装dhcp服务
3、配置dhcp配置文件
四、配置vsftpd
五、配置tftp
1、安装tftp-server
2、启动tftp
六、准备pxelinx.0文件、引导文件、内核文件
1、准备pxelinux.0文件
2、准备引导文件、内核文件
八、创建default文件
2、验证
九、配置pxe无人值守安装
1、配置ks文件
2、使用图形界面配置
3、修改ks.cfg
十、开启客户端验证
1、网卡配置
2、开始自动装机
目录
PXE(Preboot Execution Environment)是一种网络引导协议,它允许通过网络启动计算机。使用PXE,计算机可以在没有本地存储设备(如硬盘)的情况下,通过网络从远程服务器引导操作系统或运行其他预启动环境。
PXE的工作原理如下:
- 在计算机启动时,它会通过网络发送一个DHCP(Dynamic Host Configuration Protocol)广播请求,以获取IP地址和其他网络配置信息。
- DHCP服务器会回复计算机的请求,并提供其所需的IP地址和PXE配置信息。
- 计算机接收到DHCP回复后,会向DHCP提供的TFTP(Trivial File Transfer Protocol)服务器发送一个TFTP请求,以获取PXE引导程序(如pxelinux.0)。
- 计算机接收到PXE引导程序后,会执行该程序,并通过TFTP继续下载引导映像文件(如操作系统的内核文件和初始RAM磁盘映像)。
- 计算机下载完成映像文件后,会在其内存中加载和执行映像文件,从而完成网络启动。
通过PXE,管理员可以通过网络远程安装操作系统、进行系统维护和诊断、集中管理计算机等。它广泛应用于IT环境中,特别是在大规模部署计算机的情况下,可以大大简化操作和提高效率。
一、PXE是什么?
批量装机系统,网络安装linux操作系统。需要客户端的网卡支持pxe网络启动。
二、PXE的组件:
1、vsftpd/httpd/nfs
负责提供系统的安装文件
2、tftp
负责提供系统安装前的引导文件与内核文件
3、dhcp
负责提供客户端的IP地址分配与pxe引导文件,及pxe服务器地址
三、配置dhcp
1、关闭防火墙与selinux和配置本地yum源

systemctl stop firewalldsetenforce 0vim /etc/sysconfig/network-scripts/ifcfg-ens33 systemctl restart network


cd /etc/yum.repos.d/mkdir backupmv CentOS-* backup/vim local.repo[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
2、安装dhcp服务
挂载磁盘安装dhcp
mount /dev/sr0 /mntyum -y install dhcp
3、配置dhcp配置文件
cd /etc/dhcp/cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.confvim dhcpd.conf找到subnet字段,分别把2行、4行、5行对应的行数subnet全部删除。保留一下subnet:subnet 192.168.100.0 netmask 255.255.255.0 {range 192.168.100.100 192.168.100.253;# 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 restart dhcpd

四、配置vsftpd
yum -y install vsftpdcd /var/ftp/mkdir centos7mount /dev/sr0 /var/ftp/centos7systemctl restart vsftpd

五、配置tftp
1、安装tftp-server
yum install -y tftp-server 
2、启动tftp
vim /etc/xinit.d/tftpdisable=no 
systemctl start tftp 
六、准备pxelinx.0文件、引导文件、内核文件
1、准备pxelinux.0文件
yum install -y syslinuxcp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot

2、准备引导文件、内核文件
cd /光盘挂载路径/images/pxeboot/
cp initrd.img vmlinuz /var/lib/tftpboot
cd /mnt/images/pxeboot/cp initrd.img vmlinuz /var/lib/tftpboot/cd /var/lib/tftpboot/ls


八、创建default文件
cd /var/lib/tftpbootmkdir pxelinux.cfgcd pxelinux.cfgvim defaultdefault auto
prompt 1
label auto kernel vmlinuz append initrd=initrd.img method=ftp://192.168.100.254/centos7default auto 默认安装标签
prompt 1 等待用户确认,1表示等待,0表示不等待
label auto 定义标签kernel vmlinuz 指定内核append initrd=initrd.img method=ftp://192.168.100.254/centos7 指定引导镜像文件与系统安装文件
2、验证
配置到这里手动PXE就完事了

九、配置pxe无人值守安装
1、配置ks文件
修改配置文件
vim /root/anaconda-ks.cfg
2、使用图形界面配置
yum install -y system-config-kickstart.noarchsystem-config-kickstart








3、修改ks.cfg
从/root/anaconda-ks.cfg文件中拷贝软件安装字段到ks.cfg
vim %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
chrony
kexec-tools%end

vim anaconda-ks.cfg


cp /root/ks.cfg /var/ftp

修改default文件
cd /var/lib/tftpboot/pxelinux.cfg/lsvim default default auto
prompt 0
label autokernel vmlinuzappend initrd=initrd.img method=ftp://192.168.100.254/centos7 ks=ftp://192.168.100.254/ks.cfg

十、开启客户端验证
1、网卡配置
这里的网卡一定要选一样的模式

2、开始自动装机


这里装机完毕了

相关文章:
小白带你学习linux的PXE装机
目录 目录 一、PXE是什么? 二、PXE的组件: 1、vsftpd/httpd/nfs 2、tftp 3、dhcp 三、配置dhcp 1、关闭防火墙与selinux和配置本地yum源 2、安装dhcp服务 3、配置dhcp配置文件 四、配置vsftpd 五、配置tftp 1、安装tftp-server 2、启动tft…...
华为鲲鹏服务器
1.简介 鲲鹏通用计算平台提供基于鲲鹏处理器的TaiShan服务器、鲲鹏主板及开发套件。硬件厂商可以基于鲲鹏主板发展自有品牌的产品和解决方案;软件厂商基于openEuler开源OS以及配套的数据库、中间件等平台软件发展应用软件和服务;鲲鹏开发套件可帮助开发…...
Python金币小游戏
游戏规则:移动挡板接住金币 游戏截图: 详细代码如下: import pygame.freetype import sys import randompygame.init() screen pygame.display.set_mode((600, 400)) pygame.display.set_caption(game) p 0 i1 0 s 0 t 0 f1 pygame.f…...
Modbus转Profinet网关在大型自动化仓储项目应用案例
在自动化仓储项目中,Modbus是一种常见的通信协议,用于连接各种设备,例如传感器、PLC和人机界面。然而,Modbus协议只支持串行通信,并且数据传输速度较慢。为了提高通信效率和整体系统性能,许多大型仓储项目选…...
Java 并发 ThreadLocal 详解
文章首发于个人博客,欢迎访问关注:https://www.lin2j.tech 简介 ThreadLocal 即线程本地变量的意思,常被用来处理线程安全问题。ThreadLocal 的作用是为多线程中的每一个线程都创建一个线程自身才能用的实例对象,通过线程隔离的…...
JWT 技术的使用
应用场景:访问某些页面,需要用户进行登录,那我们如何知道用户有没有登录呢,这时我们就可以使用jwt技术。用户输入的账号和密码正确的情况下,后端根据用户的唯一id生成一个独一无二的token,并返回给前端&…...
机器学习深度学习——NLP实战(自然语言推断——微调BERT实现)
👨🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——针对序列级和词元级应用微调BERT 📚订阅专栏:机器学习&&深度学习 希望文…...
如何在windows下使用masm和link对汇编文件进行编译
前言 32位系统带有debug程序,可以进行汇编语言和exe的调试。但真正的汇编编程是“编辑汇编程序文件(.asm)->编译生成obj文件->链接生成exe文件”。下面,我就来说一下如何在windows下使用masm调试,使用link链接。 1、下载相应软件 下载…...
Golang字符串基本处理方法
Golang的字符串处理 字符串拼接 两种方法:strings.Join方法和’方法 package mainimport ("fmt""strings" )func main() {num : 20strs : make([]string, 0)for i : 0; i < num; i {strs append(strs, "fht")}//string.join拼…...
算法训练营第三十九天(8.30)| 动态规划Part09:购买股票
Leecode 123.买卖股票的最佳时机 III 123.买卖股票的最佳时机III 123.买卖股票的最佳时机III 题目地址:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目类型:股票问题 class Solution { public:int maxProfit(vector<…...
renren-fast-vue环境升级后,运行正常打包后,访问页面空白
网上各种环境,路径都找了一遍,也没成功。后来发现升级后打包的dist文件结构发生了变化, 1.最开始正常版本是这样 2.升级后是这样,少了日期文件夹 3.问题:打包后的index.html中引入的是config文件夹,而打…...
Uniapp笔记(三)uniapp语法2
一、本节项目预备知识 1、组件生命周期 1.1、什么是生命周期 生命周期(Life Cycle)是指一个对象从创建-->运行-->销毁的整个阶段,强调的是一个时间段 我们可以把每个uniapp应用运行的过程,也概括为生命周期 小程序的启动,表示生命周…...
windows【ftp-FTP】添加配置流程【iis服务】
第一步:自己安装iis服务和ftp服务【自己百度搜索】 第二步:添加ftp站点【配置主动端口默认为21】 第三方配置:ftp被动端口【这里设置为3000-4000】请在防火墙开放此端口【如果是阿里云请在阿里云的后天也开通此端口】【护卫神一般使用55000…...
mysql视图的创建和选项配置详解
在 MySQL 中,可以使用 CREATE VIEW 语句来创建视图。基本的语法如下: CREATE[OR REPLACE][ALGORITHM {UNDEFINED | MERGE | TEMPTABLE}][DEFINER {user | CURRENT_USER}][SQL SECURITY { DEFINER | INVOKER }]VIEW view_name [(column_list)]AS selec…...
Python正则表达式中re.sub自定义替换方法正确使用方法
大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 话不多说,直接开搞,如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码 在使用正则替换时,有时候需要将匹配的结果做对应处理,便可以使用自定义替换方法。 re.sub的用法为&…...
hyperf 十五 验证器
官方文档:Hyperf 验证器报错需要配合多语言使用,创建配置自动生成对应的语言文件。 一 安装 composer require hyperf/validation:v2.2.33 composer require hyperf/translation:v2.2.33php bin/hyperf.php vendor:publish hyperf/translation php bi…...
ssh访问远程宿主机的VMWare中NAT模式下的虚拟机
1.虚拟机端配置 1.1设置虚拟机的网络为NAT模式 1.2设置虚拟网络端口映射(NAT) 点击主菜单的编辑-虚拟网络编辑器: 启动如下对话框,选中NAT模式的菜单项,并点击NAT设置: 点击添加,为我们的虚拟机添加一个端口映射。…...
【一等奖方案】大规模金融图数据中异常风险行为模式挖掘赛题「NUFE」解题思路
第十届CCF大数据与计算智能大赛(2022 CCF BDCI)已圆满结束,大赛官方竞赛平台DataFountain(简称DF平台)正在陆续释出各赛题获奖队伍的方案思路,欢迎广大数据科学家交流讨论。 本方案为【大规模金融图数据中…...
npm install 报错
npm install 报错 npm install 报错 npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: yudao-ui-admin1.8.0-snapshot npm ERR! Found: eslint7.15.0 npm ERR! node_modules/eslint npm ERR! dev eslint&q…...
专业人士使用的3个好用的ChatGPT提示
AI正在席卷世界。从自动化各个领域的任务到几秒钟内协助我们的日常生活,它有着了公众还未理解的巨大价值……除非你是专业人士。 专业人士一般都使用什么提示以及如何使用的?这里是经验丰富的懂ChatGPT的专业人士才知道的3个提示。好用请复制收藏。 为…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
