RHEL8/Centos8 install for PXE

PXE介绍

PXE(Preboot Execution Environment)是预引导执行环境的缩写。它是由Intel设计的,允许客户端计算机通过网络从服务器上加载操作系统镜像。PXE通常用于大规模部署操作系统,例如在企业或学校环境中。

PXE工作流程如下:

  • 当计算机启动时,BIOS 会进行 POST(Power-On Self-Test)自检,检查硬件是否正常运行。
  • BIOS 随后会从默认启动设备(通常是硬盘)加载引导加载程序(Bootloader)。
  • Bootloader 会查找并加载 PXE 客户端软件(通常是 Intel 的 PXE Client)。
  • PXE Client 通过广播寻找并选择可用的 PXE 服务端(通常是服务器)。
  • 服务器通过 TFTP(Trivial File Transfer Protocol)协议将操作系统镜像发送到客户端。
  • 客户端计算机接收并加载操作系统镜像,然后开始安装操作系统。

因此,通过 PXE,IT 管理员可以在大型网络中自动化和集中管理操作系统部署。

更改IP

  • 根据需求修改
sed -ri 's/192.168.10.10/172.18.13.99/g' autoinstall.sh
sed -ri 's/192.168.10./172.18.13./g' autoinstall.sh
  • 执行脚本
bash autoinstall.sh

脚本内容示例

#!/bin/bash#挂载光盘
mkdir /media/cdrom
echo "/dev/sr0 /media/cdrom iso9660 defaults 0 0" >> /etc/fstab
mount -a#配置本地YUM源
touch /etc/yum.repos.d/rhel8.repo
cat > /etc/yum.repos.d/rhel8.repo <<EOF
[BaseOS]
name=BaseOS
baseurl=file:///media/cdrom/BaseOS
enabled=1
gpgcheck=0
[AppStream]
name=AppStream
baseurl=file:///media/cdrom/AppStream
enabled=1
gpgcheck=0
EOF
#同步YUM仓库
dnf makecache#清除规则并关闭防火墙
iptables -F
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
#关闭selinux
setenforce 0
sed -ri 's/=enforcing/=disabled/g' /etc/selinux/config
cat /etc/selinux/config
getenforce#安装配置dhcp
dnf install -y dhcp-servercat > /etc/dhcp/dhcpd.conf <<EOF
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp-server/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
allow booting;
allow bootp;
ddns-update-style none;
ignore client-updates;
subnet 172.16.13.0 netmask 255.255.255.0 {option subnet-mask                      255.255.255.0;option domain-name-servers              172.16.13.99;range dynamic-bootp 172.16.13.110      172.16.13.200;default-lease-time                      21600;max-lease-time                          43200;next-server                             172.16.13.99;filename                                "pxelinux.0";
}
host yjy-test-01 {hardware ethernet 00:0c:29:df:6c:a0;fixed-address 172.16.13.199;
}
EOF
systemctl start dhcpd
systemctl enable dhcpd
systemctl status dhcpdsleep 5#安装配置tftp-server、xinetd
dnf install -y tftp-server xinetd
touch /etc/xinetd.d/tftp
cat > /etc/xinetd.d/tftp <<EOF
service tftp
{socket_type     = dgramprotocol        = udpwait            = yesuser            = rootserver          = /usr/sbin/in.tftpdserver_args     = -s /var/lib/tftpbootdisable         = noper_source      = 11cps             = 100 2flags           = IPv4
}
EOF
systemctl start xinetd
systemctl enable xinetd
systemctl status xinetdsleep 5#安装syslinux,COPY相关配置文件
dnf install -y syslinux
unalias cp
cp -f /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp -f /media/cdrom/images/pxeboot/* /var/lib/tftpboot/
cp -f /media/cdrom/isolinux/* /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
chmod 755 /var/lib/tftpboot/pxelinux.cfg/default
sed -ri 's@default vesamenu.c32@default linux@g' /var/lib/tftpboot/pxelinux.cfg/default
sed -ri 's@hd:LABEL=RHEL-8-0-0-BaseOS-x86_64 quiet@ftp://172.16.13.99 ks=ftp://172.16.13.99/pub/ks.cfg quiet@g' /var/lib/tftpboot/pxelinux.cfg/defaultsleep 5#安装配置vsftpd
dnf install -y vsftpd
sed -ri 's/anonymous_enable=NO/anonymous_enable=YES/g' /etc/vsftpd/vsftpd.conf
systemctl start vsftpd
systemctl enable vsftpd
systemctl status vsftpd#COPY数据到ftp目录并设置SELinux(虽然开始关了-_-)
cp -r /media/cdrom/* /var/ftp
setsebool -P ftpd_connect_all_unreserved=on#创建KickStart应答文件
touch /var/ftp/pub/ks.cfg
chmod 755 /var/ftp/pub/ks.cfg
cat > /var/ftp/pub/ks.cfg <<EOF
#version=RHEL8
ignoredisk --only-use=sda
# Partition clearing information
clearpart --none --initlabel
# Use graphical install
graphical
#repo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
repo --name="AppStream" --baseurl=ftp://172.16.13.99/AppStream
# Use CDROM installation media
#cdrom
url --url=ftp://172.16.13.99/BaseOS
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
# selinux configuration
selinux --disabled#Reboot after installation
reboot# Network information
network  --bootproto=dhcp --device=ens160 --onboot=on --ipv6=auto --activate
network  --hostname=test
# Root password
rootpw 123456
# Run the Setup Agent on first boot
firstboot --enable
# Do not configure the X Window System
skipx
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc --nontp
# Disk partitioning information
part /boot --fstype="xfs" --ondisk=sda --size=1024
part pv.217 --fstype="lvmpv" --ondisk=sda --size=1 --grow
volgroup rhel --pesize=4096 pv.217
logvol / --fstype="xfs" --grow --size=1024 --name=root --vgname=rhel
logvol swap --fstype="swap" --size=2047 --name=swap --vgname=rhel%packages
@^server-product-environment
kexec-tools%end%addon com_redhat_kdump --enable --reserve-mb='auto'%end%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
EOFsystemctl restart dhcpd
systemctl restart xinetd
systemctl restart vsftpd
systemctl status dhcpd
systemctl status xinetd
systemctl status vsftpd

分享、在看与点赞
只要你点,我们就是胖友

来自: RHEL8/Centos8 install for PXEicon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=Mzk0NTQ3OTk3MQ==&mid=2247485775&idx=1&sn=99c2678ffc2dfef9552d84a9ebef6388&chksm=c3158103f462081511d082242469d3f7aa7e8d66e314f39cad457c2c9b2926300f1b0c71781d&token=355315523&lang=zh_CN#rd

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ | Leetcode C++题解之第139题单词拆分

题目&#xff1a; 题解&#xff1a; class Solution { public:bool wordBreak(string s, vector<string>& wordDict) {auto wordDictSet unordered_set <string> ();for (auto word: wordDict) {wordDictSet.insert(word);}auto dp vector <bool> (s.…

【el-tooltips改造】Vue实现文本溢出才显示el-tooltip,否则不显示el-tooltips

实现原理&#xff1a; 使用disabled属性控制el-tooltip的content显示与隐藏&#xff1b; 目标&#xff1a; 1行省略、多行省略、可缩放页面内的文本省略都有效。 实现方式&#xff1a; 1、自定义全局指令&#xff0c;tooltipAutoShow.js代码如下&#xff08;参考的el-table中的…

04 架构核心技术之分布式消息队列

本课时的主题是分布式消息队列&#xff0c;分布式消息队列的知识结构如下图。 本课时主要介绍以下内容。 同步架构和异步架构的区别。异步架构的主要组成部分&#xff1a;消息生产者、消息消费者、分布式消息队列。异步架构的两种主要模型&#xff1a;点对点模型和发布订阅模型…

C# 异步方法async / await 任务超时处理

一、需求 如果调用一个异步方法后&#xff0c;一直不给返回值结果怎么办呢&#xff1f;这就涉及到怎么取消任务了。 二、Task取消任务 static CancellationTokenSource source new CancellationTokenSource();static void Main(string[] args){Task.Run(() >{for (int i …

【基于C++与OpenCV实现魔方图像识别和还原算法】施工总览图

文章目录 主要效果展示思维导图魔方还原算法 本系列博客长期更新&#xff0c;分为两大部分 OpenCV实现魔方六面识别 C编写科先巴二阶段还原算法实现三阶魔方的还原 主要效果展示 摄像头识别六面 3D图像构建&#xff0c;提供还原公式 动画演示还原过程 思维导图 魔方还原算法 参…

PowerDesigner导入Excel模板生成数据表

PowerDesigner导入Excel模板生成数据表 1.准备好需要导入的Excel表结构数据,模板内容如下图所示 2.打开PowerDesigner,新建一个physical data model文件,填入文件名称,选择数据库类型 3.点击Tools|Execute Commands|Edit/Run Script菜单或按下快捷键Ctrl Shift X打开脚本窗口…

免费开源图片转文字识别软件:Umi-OCR

目录 1.介绍 2.项目亮点 3.项目功能&#xff08;已实现&#xff09; 4.功能体验 5.项目集成&#xff08;调用接口&#xff09; 6.项目地址 1.介绍 Umi-OCR&#xff1a;免费&#xff0c;开源&#xff0c;可批量的离线OCR软件&#xff0c;目前适用于 Windows7 x64 及以上。…

【机器人和人工智能——自主巡航赛项】进阶篇

文章目录 案例要求创建地图rviz仿真 保存地图坐标点定位识别训练主逻辑理解语音播报模块匹配二维码识别多点导航讲解视频其余篇章 案例要求 创建地图 ./1-gmapping.sh 把多个launch文件融合在sh文件里面 rviz仿真 rviz是rose集成的可视化界面&#xff0c;查看机器人的各项数…

深度学习:如何静悄悄地改变我们的日常生活

深度学习 深度学习&#xff1a;如何静悄悄地改变我们的日常生活一、消费电子产品智能手机与个人助理娱乐与社交媒体 二、医疗健康三、汽车与交通四、公共安全五、总结 深度学习&#xff1a;如何静悄悄地改变我们的日常生活 在近年来&#xff0c;深度学习技术因其强大的数据处理…

Java——数组排序和查找

一、排序介绍 1、排序的概念 排序是将多个数据按照指定的顺序进行排列的过程。 2、排序的种类 排序可以分为两大类&#xff1a;内部排序和外部排序。 3、内部排序和外部排序 1&#xff09;内部排序 内部排序是指数据在内存中进行排序&#xff0c;适用于数据量较小的情况…

快速入门Linux及使用VSCode远程连接Linux服务器

在当前的技术环境中&#xff0c;Linux操作系统因其强大的功能和灵活性而广受欢迎。无论你是开发人员、系统管理员还是技术爱好者&#xff0c;学习Linux都是提升技术技能的重要一步。本文将介绍如何快速入门Linux&#xff0c;并使用Visual Studio Code&#xff08;VSCode&#x…

LabVIEW储油罐监控系统

LabVIEW储油罐监控系统 介绍了基于LabVIEW的储油罐监控系统的设计与实施。系统通过集成传感器技术和虚拟仪器技术&#xff0c;实现对储油罐内液位和温度的实时监控&#xff0c;提高了油罐监管的数字化和智能化水平&#xff0c;有效增强了油库安全管理的能力。 项目背景 随着…

【vector模拟实现】附加代码讲解

vector模拟实现 一、看源代码简单实现1. push_backcapacity&#xff08;容量&#xff09;sizereserve&#xff08;扩容&#xff09;operator[ ] &#xff08;元素访问&#xff09; 2. pop_back3. itorator&#xff08;迭代器&#xff09;4.insert & erase &#xff08;头插…

skywalking基础使用

skywalking基础使用 找链路追踪Id将链路追踪Id拿到skywalking-ui中筛选对应链路补充说明例如, sql的打印能让我们了解到代码中对应的sql是否符合预期 找链路追踪Id 在接口响应header中复制x-trace-id 这个接口响应正常了, 异常没有暴露到前端, 且调用链路很长, 但我们借助s…

高质量 HarmonyOS 权限管控流程

高质量 HarmonyOS 权限管控流程 在 HarmonyOS 应用开发过程中&#xff0c;往往会涉及到敏感数据和硬件资源的调动和访问&#xff0c;而这部分的调用就会涉及到管控这部分的知识和内容了。我们需要对它有所了解&#xff0c;才可以在应用开发中提高效率和避免踩坑。 权限管控了…

【安装笔记-20240608-Linux-动态域名更新服务之YDNS】

安装笔记-系列文章目录 安装笔记-20240608-Linux-动态域名更新服务之YDNS 文章目录 安装笔记-系列文章目录安装笔记-20240608-Linux-动态域名更新服务之YDNS 前言一、软件介绍名称&#xff1a;YDNS主页官方介绍 二、安装步骤测试版本&#xff1a;openwrt-23.05.3-x86-64注册填…

c++【入门】求圆环的面积

限制 时间限制 : 1 秒 内存限制 : 128 MB 题目 如下图所示的圆环铁片&#xff0c;中间是空心的&#xff0c;已知圆环外圆的半径是r1厘米&#xff08;如&#xff1a;10cm&#xff09;&#xff0c;内圆半径是r2厘米&#xff08;如&#xff1a;6cm&#xff09;&#xff0c;请编…

如何使用GPT-4o函数调用构建一个实时应用程序?

本教程介绍了如何使用OpenAI最新的LLM GPT-4o通过函数调用将实时数据引入LLM。 我们在LLM函数调用指南(详见https://thenewstack.io/a-comprehensive-guide-to-function-calling-in-llms/)中讨论了如何将实时数据引入聊天机器人和代理。现在&#xff0c;我们将通过将来自Fligh…

上位机快速开发框架

右上角向下按钮 -> 后台配置 系统菜单 角色管理 分配权限 用户管理 设备配置 通道管理 首页界面设计 设备1配置 带反馈按钮&#xff0c;如&#xff1a;用户按键00105&#xff0c;PLC反馈状态00106 设备2配置 参数说明&#xff1a; TagName_Main&#xff1a;主要信息&#…

Leetcode:整数转罗马数字

题目链接&#xff1a;12. 整数转罗马数字 - 力扣&#xff08;LeetCode&#xff09; 普通版本&#xff08;模拟&#xff09; 条件分析&#xff1a;罗马数字由 7 个不同的单字母符号组成&#xff0c;每个符号对应一个具体的数值。此外&#xff0c;减法规则还给出了额外的 6 个复…