PXE + Kickstart 无人值守批量部署系统(legacy启动)
先认识两台机器整个部署过程涉及两台机器角色 它是谁 它有什么PXE 服务器 我们搭建的那台 CentOS 7IP 固定为 192.168.145.21 上面跑了三个服务DHCP、TFTP、HTTP还存着 CentOS 的 ISO 安装镜像和一份 ks.cfg 应答文件客户机 需要被安装系统的那台空白机器 什么都没有——没有系统、没有 IP。只有一块网卡支持从网络启动1.2 PXE 服务器上的三个服务分别干什么PXE 服务器本质上是把一张 CentOS 安装光盘ISO通过网络喂给客户机。这个过程中用到了三个服务服务 端口 它提供给客户机的东西 类比DHCP UDP 67 分配给客户机的 IP 地址 告诉客户机引导文件在 TFTP 那里 前台告诉你工位在哪、去哪领资料TFTP UDP 69 启动内核 vmlinuz 初始化内存盘 initrd.img PXE 引导程序 pxelinux.0 传达室你领走第一个包裹HTTP TCP 80 完整安装镜像ISO 里的全部 RPM 包 无人值守应答文件 ks.cfg 仓库你后续大量物资都从这拿DHCP 和 TFTP 只负责启动阶段传的文件很小内核几十 MB。HTTP 负责安装阶段传的文件很大几 GB 的 RPM 包。1.3 客户机从开机到装完的完整过程以下是客户机从一片空白到安装完成的全部对话过程。每一步都标注了谁跟谁说话、“说了什么”第 1 步客户机向 DHCP 要一个 IP客户机开机BIOS 选择网络启动。客户机的网卡在局域网里广播一条消息“有人在吗我是 00:0c:29:16:b6:37请给我一个 IP 地址和启动文件”PXE 服务器上的 DHCP 服务 收到后回复“给你 IP 192.168.145.100你要的引导文件叫 pxelinux.0它在 TFTP 服务器 192.168.145.21 上。”至此客户机有了自己的 IP还知道了下一步该找谁、要什么文件。第 2 步客户机通过 TFTP 下载引导程序和内核客户机拿着 DHCP 给的信息向 PXE 服务器的 TFTP 服务发起请求依次下载三个文件文件 是什么pxelinux.0 引导程序约 27KB。它负责在屏幕上显示Install PXEKickstart菜单然后启动后面的内核vmlinuz Linux 内核约 6MB。这就是最终要装到客户机上的 CentOS 内核initrd.img 初始化内存盘约 40MB。内核启动时需要的一个临时小文件系统里面装着驱动网卡驱动、硬盘驱动等和安装引导工具这三个文件下载完成后pxelinux.0 把控制权交给 vmlinuz内核并把 PXE 菜单里 append 行上写的所有参数一起传给内核。第 3 步内核启动dracut 解析内核参数内核 vmlinuz 在客户机内存中启动后第一个运行的程序叫 dracut。dracut 的工作是在这个临时的小系统里把网卡驱动起来连上网然后去下载真正的安装程序。dracut 会读取 PXE 菜单 append 行上的参数。其中有两条最关键inst.repohttp://192.168.145.21/pub/kshttp://192.168.145.21/ks/ks.cfginst.repo → dracut 自己用。它告诉 dracut“安装源在 HTTP 服务器 192.168.145.21 的 /pub/ 目录下去那里下载 LiveOS/squashfs.img。”ks → dracut 先记下来不自己用留给后面的 Anaconda。dracut 根据 inst.repo 的指示通过 HTTP 下载 LiveOS/squashfs.img约 400MB。这个文件叫 stage2 镜像里面就是 Anaconda 安装程序本体。第 4 步Anaconda 启动解析 ks.cfgstage2 下载完成后AnacondaCentOS 的安装程序启动。Anaconda 读取 dracut 留给它的 ks 参数通过 HTTP 向 http://192.168.145.21/ks/ks.cfg 发起请求下载应答文件。ks.cfg 里写了安装源在哪url --urlhttp://192.168.145.21/pub/— 从这里下载所有 RPM 包要清除哪块磁盘clearpart— 对 nvme0n1 操作怎么分区part /boot、logvol /…root 密码是什么rootpw --plaintext 1装哪些软件%packages 段落装完要不要重启rebootAnaconda 逐行执行 ks.cfg 里的指令清磁盘 → 分区 → 从 HTTP 下载 RPM 包 → 安装 → 设置 root 密码 → 重启第 5 步重启安装完成Anaconda 执行完所有步骤后客户机自动重启。此时客户机的硬盘上已经有了一套完整的 CentOS 7 系统root 密码是 1root 可以直接登录。1.4 最容易踩的坑inst.repo 和 ks.cfg 里的 url --url 不是一回事很多人认为只要 ks.cfg 里写了 url --urlhttp://…dracut 就知道从哪下载 stage2。这是错的。原因很简单——看时间顺序第 3 步dracut 需要 inst.repo 来找安装源下载 stage2↑此时 Anaconda 还没启动ks.cfg 文件还没被读取↑第 4 步Anaconda 启动后才解析 ks.cfg 里的 url --urldracut 阶段Anaconda 不存在。内核参数是唯一的信息来源。所以必须在 PXE 菜单的 append 行写上 inst.repo。Anaconda 阶段Anaconda 已经启动了它会解析 ks.cfg这时候 url --url 才生效。参数 谁读 什么时候读 用来干什么 写在哪inst.repo dracut 内核刚启动时第 3 步 下载 stage2 安装程序镜像 LiveOS/squashfs.img PXE 菜单 append 行ks Anaconda 安装程序启动后第 4 步 获取 ks.cfg 应答文件 PXE 菜单 append 行url --url Anaconda ks.cfg 被解析后第 4 步内部 获取 RPM 安装包 ks.cfg 文件内两者都必须写各管各的阶段不可互相替代。第二部分搭建步骤环境项目 值PXE 服务器 IP 192.168.145.21网段 192.168.145.0/24 (VMware NAT)操作系统 CentOS 7.9.2009ISO 路径 /home/pxe/iso/CentOS-7-x86_64-DVD-2009.iso步骤 1关闭防火墙和 SELinux这一步在干什么CentOS 默认开启的防火墙和 SELinux 会拦截外来网络请求。PXE 服务器需要对外提供 DHCP、TFTP、HTTP 三个服务客户机会主动连接这些端口。如果不关客户机的 DHCP 请求、TFTP 下载、HTTP 访问都可能被拦截导致 PXE 启动流程在第一步就失败。影响谁PXE 服务器自身的安全策略。systemctl stop firewalldsystemctl disable firewalldsetenforce 0sed -i ‘s/SELINUXenforcing/SELINUXdisabled/g’ /etc/selinux/config步骤 2挂载 ISO 并配置本地 yum 源这一步在干什么ISO 文件就像一个压缩包只有挂载之后里面的文件才能被系统访问。挂载后 ISO 的内容出现在 /mnt/cdrom 目录下CentOS 安装光盘里的所有 RPM 包都在这里。然后配置 yum 源告诉 yum安装软件的时候从这个本地目录找不要上网找。因为这台 PXE 服务器可能连不上外网如果不禁用 base/extras/updates 三个联网源yum 会反复尝试连接外网镜像站然后超时导致后续安装 DHCP/TFTP/HTTP 时每步都卡很久。影响谁PXE 服务器自己装软件后面步骤 3 需要 yum 安装 dhcp、tftp-server、syslinux、httpd。注意yum repo 的 [development] 这个名字不能乱改——如果用 system-config-kickstart GUI 工具它硬编码了只认这个 repo 名。

相关新闻

Mac Mouse Fix终极指南:让普通鼠标在macOS上媲美触控板的完整方案

Mac Mouse Fix终极指南:让普通鼠标在macOS上媲美触控板的完整方案

Mac Mouse Fix终极指南:让普通鼠标在macOS上媲美触控板的完整方案 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 你是否曾经在macO…

2026/7/21 20:17:20 阅读更多 →
深入解析:C盘飘红?这篇超全清理指南,帮你高效释放百GB空间!

深入解析:C盘飘红?这篇超全清理指南,帮你高效释放百GB空间!

你的C盘是不是也飘红了。“C盘空间不足”是Windows用户常见的平台提示,该困难常伴随开机卡顿、软件异常退出甚至系统崩溃等现象,因此C盘的定期清理优化至关重要。多数用户在清理过程中面临两大痛点:担心误删系统核心文件导致故障,…

2026/7/23 16:36:42 阅读更多 →
深入解析AM62L DDR控制器:从时序配置到DQS振荡器高级调优

深入解析AM62L DDR控制器:从时序配置到DQS振荡器高级调优

1. 项目概述与核心价值在嵌入式系统开发,尤其是基于TI AM62L这类高性能Sitara™处理器的项目中,内存子系统的稳定性和性能调优往往是决定项目成败的关键一环。很多工程师在拿到芯片和官方SDK后,能够快速搭建起基础运行环境,但一旦…

2026/7/21 20:17:21 阅读更多 →

最新新闻

东莞商旅服务平台头部机构多维度能力梳理及选型参考

东莞商旅服务平台头部机构多维度能力梳理及选型参考

东莞差旅服务行业发展现状综述作为大湾区核心制造业重镇,东莞聚集了超20万家工业企业,跨区域供应链对接、海外客商洽谈、项目落地走访等商务活动频次逐年攀升,差旅支出已成为多数企业仅次于人力成本的第二大可控运营支出。当前多数企业仍采用…

2026/7/23 22:00:09 阅读更多 →
AI时代提示词工程:从编码到思维密度的转型

AI时代提示词工程:从编码到思维密度的转型

1. 标题背后的行业焦虑解析"别卷代码了,你的年薪百万,在AI眼里只值3段提示词"这个标题精准击中了当前技术从业者的集体焦虑。作为在AI领域深耕多年的从业者,我亲眼见证了过去两年大语言模型如何重构技术价值体系。这句话表面看是夸…

2026/7/23 22:00:09 阅读更多 →
AI动漫短剧制作全流程技术解析

AI动漫短剧制作全流程技术解析

1. AI动漫短剧创作的技术全景第一次接触AI动漫短剧制作时,我被这个领域的技术栈复杂度震惊了。从最初的文字脚本到最终成片输出,整个过程涉及自然语言处理、图像生成、语音合成、视频剪辑等多个技术模块的协同工作。经过半年多的实战摸索,我总…

2026/7/23 22:00:09 阅读更多 →
基于深度学习的焊缝缺陷检测系统设计与实现

基于深度学习的焊缝缺陷检测系统设计与实现

1. 项目概述焊缝质量检测是工业生产中至关重要的环节,传统的人工检测方法存在效率低、主观性强等缺陷。基于图像处理与深度学习的焊缝缺陷分类与定位系统,通过计算机视觉技术实现了自动化检测,大幅提升了检测效率和准确性。这个系统主要解决以…

2026/7/23 22:00:09 阅读更多 →
【信息科学与工程学】【数据科学】数据科学领域 第六篇 算法设计 07 堆、栈、表、矩阵、集合、队列、数组、字符串、树、图、动态规划、结构体、元组的算法01

【信息科学与工程学】【数据科学】数据科学领域 第六篇 算法设计 07 堆、栈、表、矩阵、集合、队列、数组、字符串、树、图、动态规划、结构体、元组的算法01

。 编号 类别 模型配方 算法/模型/方法名称 算法逐步思考推理的数学方程式及参数列表及参数的值范围 时序数学方程式 误差/算法复杂度 底层规律/理论定理 典型应用场景【10个场景】和各类特征 1 集合 哈希表 + 开放寻址法 哈希查找 (Hash Search) 1. 计算哈希值…

2026/7/23 22:00:09 阅读更多 →
TDengine 2026 全面升级,中小企业全功能永久免费

TDengine 2026 全面升级,中小企业全功能永久免费

涛思数据今日正式发布 TDengine 全新一代产品。过去一年,TDengine 以每两周一个版本的速度迭代 21 次,全球安装实例突破 100 万套,付费客户超过 500 家。本次发布将时序数据库引擎 TDengine TSDB 3.4 和工业数据管理平台 TDengine IDMP 2.0 整…

2026/7/23 21:59:09 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 17:49:47 阅读更多 →

月新闻