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-server


cat > /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 dhcpd


sleep 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     = dgram
        protocol        = udp
        wait            = yes
        user            = root
        server          = /usr/sbin/in.tftpd
        server_args     = -s /var/lib/tftpboot
        disable         = no
        per_source      = 11
        cps             = 100 2
        flags           = IPv4
}
EOF
systemctl start xinetd
systemctl enable xinetd
systemctl status xinetd


sleep 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/default


sleep 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
EOF


systemctl 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

上位机快速开发框架

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

mac读不出来ntfs mac硬盘读不出来盘

新买的Mac电脑由于需要导入旧电脑的数据&#xff0c;因此通常会读取备份硬盘&#xff0c;通过硬盘进行导入。不过由于各种原因&#xff0c;有些mac用户反馈无法正常读取或写入NTFS移动硬盘&#xff0c;下面就通过本篇教程&#xff0c;简单讲述当mac读不出来ntfs&#xff0c;mac…

二分+模拟,CF1461D - Divide and Summarize

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 Problem - 1461D - Codeforces 二、解题报告 1、思路分析 我们发现每次分裂操作结果都是固定的 我们从初始序列分裂出两个确定的子序列&#xff0c;两个确定的子序列又分裂出4个确定的子序列 那么也就是说…

前端:快捷 复制chrome 控制台打印出来的 数组对象

程序中console.log出来的对象。按照以下步骤操作 1.右键点击需要处理的对象&#xff0c;会出现Store as global variable&#xff0c;点击 2.点击 Store as global variable 控制台会出现 3.在控制台 输入 copy(temp1) 这样对象就复制到了你的黏贴面板里面 在代码中直接 c…

C# WPF入门学习主线篇(十)—— DataGrid常见属性和事件

C# WPF入门学习主线篇&#xff08;十&#xff09;—— DataGrid常见属性和事件 欢迎来到C# WPF入门学习系列的第十篇。在前面的文章中&#xff0c;我们已经学习了 Button、TextBox、Label、ListBox 和 ComboBox 控件。今天&#xff0c;我们将探讨 WPF 中的另一个重要控件——D…

计算机网络 —— 网络层(子网掩码和子网划分)

计算机网络 —— 网络层&#xff08;子网掩码和子网划分&#xff09; 网络地址转换NAT子网掩码和子网划分举个例子第一步&#xff1a;看类型第二步&#xff1a;从主机号开始比对第三步&#xff1a;去头去尾 我们今天来看子网掩码和子网划分&#xff1a; 网络地址转换NAT 网络…

碳素钢化学成分分析 螺纹钢材质鉴定 钢材维氏硬度检测

碳素钢的品种主要有圆钢、扁钢、方钢等。经冷、热加工后钢材的表面不得有裂缝、结疤、夹杂、折叠和发纹等缺陷。尺寸和允许公差必须符合相应品种国家标准的要求。 具体分类、按化学成分分类 &#xff1a; 碳素钢按化学成分&#xff08;即以含碳量&#xff09;可分为低碳钢、中…

Objective-C 学习笔记 | 基础

Objective-C 学习笔记 | 基础 参考书&#xff1a;《Objective-C 编程&#xff08;第2版&#xff09;》 第1部分 入门 Objective-C语言是以C语言为基础的&#xff0c;但增加了对面向对象编程的支持。Objective-C语言是用来开发在苹果iOS以及OS X操作系统上运行的应用的编程语…

Coze入门指南:创建Bot时,如何写好人设与回复逻辑(Persona Prompt)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 Coze Bot 📒📝 Persona & Prompt🌟 # Character🌟 ## Skills🌟 # Overall Rules to follow🌟 ## Workflow🌟 ## Constraints📝 通用写法与模板📝 示例🌟技巧和注意事项⚓️ 相关链接 ⚓️📖 介绍 📖…

VSCode数据库插件

Visual Studio Code (VS Code) 是一个非常流行的源代码编辑器&#xff0c;它通过丰富的插件生态系统提供了大量的功能扩展。对于数据库操作&#xff0c;VS Code 提供了几种插件&#xff0c;其中“Database Client”系列插件是比较受欢迎的选择之一&#xff0c;它包括了对多种数…

【机器学习】机器学习与医疗健康在智能诊疗中的融合应用与性能优化新探索

文章目录 引言机器学习与医疗健康的基本概念机器学习概述监督学习无监督学习强化学习 医疗健康概述疾病预测诊断辅助个性化治疗方案制定 机器学习与医疗健康的融合应用实时健康监测数据预处理特征工程 疾病预测与优化模型训练模型评估 诊断辅助与优化深度学习应用 个性化治疗方…

Vue第三方库与插件实战手册

title: Vue第三方库与插件实战手册 date: 2024/6/8 updated: 2024/6/8 excerpt: 这篇文章介绍了如何在Vue框架中实现数据的高效验证与处理&#xff0c;以及如何集成ECharts、D3.js、Chart.js等图表库优化数据可视化效果。同时&#xff0c;探讨了Progressive Web App(PWA)的接入…

性能提升70%~220%,OBKV提高事务处理效率

1. OBKV 是什么&#xff1f; OBKV&#xff0c;OceanBase的多模KV产品&#xff0c;专注低成本、大规模的结构化或半结构化数据存储&#xff0c;并提供高效访问性能的简易操作接口。 在实现层面&#xff0c;OBKV Bypass了SQL层&#xff0c;直接基于OceanBase的分布式存储构建了…

Linux内核下网卡硬件 MAC 和PHY分析笔记

1 简介 通常CPU自带的以太网接口是MAC控制器&#xff0c;为了实现完整的功能&#xff0c;外围硬件还需要增加一个PHY芯片。 PHY芯片在建立网络连接时负责协商确定网速、全双工 或者 半双工等。在正常通讯时负责在MAC控制器的MII信号 与 网线中的信号之间做转换。 本文的内核代…

Servlet-01

文章目录 Servlet创建Servlet探究Servlet的生命周期 HttpServletWebServlet注解详解 重定向与请求转发ServletContextServletContext中的接口 HttpServletRequestHttpServletResponse状态码解释Cookie Servlet Q&#xff1a;它能做什么呢&#xff1f; A&#xff1a;我们可以通…

[office] Excel教学:Excel通配符怎么用? #其他#职场发展

Excel教学&#xff1a;Excel通配符怎么用&#xff1f; 尽管Excel使用了很多年&#xff0c;但很多人都还是忽略了Excel通配符的存在&#xff0c;不知道通配符是什么&#xff0c;不知道如何使用它。今天我就完整地介绍一下通配符&#xff0c;让你彻底地认识通配符。 关于通配符…

SpringBoot2+Vue3开发课程审核流程系统

SpringBoot2Vue3开发课程审核流程系统 简介 此系统实现了课程审核全流程功能并使用了Activiti7工作流技术&#xff0c;功能包含&#xff1a;课程管理、用户管理、流程定义、课程审核&#xff08;我的申请、我的代办、我的已办&#xff09; 功能介绍 课程管理 对课程信息的管…

【JavaScript对象详解】 Day05

JavaScript对象详解 JavaScript 基础 - 第5天对象语法对象属性对象使用属性-查属性-改属性-增属性-删 &#xff08;了解&#xff09; 方法和调用遍历对象遍历数组对象null 内置对象Math属性方法生成任意范围随机数 综合案例随机点名案例猜数字游戏猜数字游戏设定次数生成随机颜…

深入解读Prometheus Adapter:云原生监控的核心组件

一、引言 Prometheus Adapter的背景与重要性 在现代的云原生架构中&#xff0c;微服务和容器化技术得到了广泛的应用。这些技术带来了系统灵活性和扩展性的提升&#xff0c;但同时也增加了系统监控和管理的复杂度。Prometheus作为一款开源的监控系统&#xff0c;因其强大的指标…

微信小程序 导航navigation-bar

属性类型默认值必填说明最低版本titlestring否导航条标题2.9.0loadingbooleanfalse否是否在导航条显示 loading 加载提示2.9.0front-colorstring否导航条前景颜色值&#xff0c;包括按钮、标题、状态栏的颜色&#xff0c;仅支持 #ffffff 和 #0000002.9.0background-colorstring…