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.mzph.cn/web/24889.shtml

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

相关文章

【复现】含能量路由器的交直流混合配电网潮流计算

目录 1 主要内容 2 理论及模型 3 程序结果 4 下载链接 1 主要内容 程序复现《含能量路由器的交直流混合配电网潮流计算》&#xff0c;主要是对算例4.1进行建模分析&#xff0c;理论和方法按照文献所述。能量路由器&#xff08;ER&#xff09;作为新兴的电力元器件&#xff…

Spring Boot通过自定义注解和Redis+Lua脚本实现接口限流

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

FuTalk设计周刊-Vol.040

&#x1f525;AI漫谈 热点捕手 1、零代码定制游戏NPC&#xff0c;百川智能发布角色大模型 百川智能此次推出了“角色创建平台搜索增强知识库”的定制化解决方案。通过这一方案&#xff0c;游戏厂商无需编写任何代码&#xff0c;只需通过简单的文字描述&#xff0c;便可以快速…

IT人的拖延——都是“分心”惹的祸?

典型表现 我们说到拖延的原因有很多&#xff0c;还有一个原因是因为“分心太多“造成的&#xff0c;分心太多的拖延大致上有以下表现&#xff1a; 无法集中注意力&#xff1a; 分心太多会导致我们无法集中注意力在当前的工作任务上&#xff0c;我们可能会经常性地走神或者在工…

php操作数据库

<?php session_start(); #面向过程 function create_connection(){ $conn mysqli_connect(127.0.0.1,root,123456,learn_2) or die("数据库连接失败"); mysqli_query($conn,"set names utf8"); return $conn; } #面向对象 function create_connection…

Vue12-计算属性

一、姓名案例 1-1、插值语法实现 1、v-bind v-bind的问题&#xff1a; 所以&#xff1a;v-bind是单向绑定。 2、v-model 解决v-bind的问题。 3、输出全名 方式一&#xff1a; 方式二&#xff1a; 需求优化&#xff1a;全名中的姓氏&#xff0c;只取输入框中的前三位&#xf…

Python数据框的合并(一) -- merge函数

目录 1 merge 函数详解 1.1 左连接&#xff08;Left Join&#xff09;: 1.2 右连接&#xff08;Right Join&#xff09;: 1.3 全连接&#xff08;Full Join 或 Outer Join&#xff09;: 2 代码示例 2.1 加载模块并创建示例数据框 2.2 左连接 2.3 右连接 2.4 全连接 1 m…

VSCode数据库插件

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

使用C++结合OpenCV进行图像处理与分类

⭐️我叫忆_恒心&#xff0c;一名喜欢书写博客的在读研究生&#x1f468;‍&#x1f393;。 如果觉得本文能帮到您&#xff0c;麻烦点个赞&#x1f44d;呗&#xff01; 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧&#xff0c;喜欢的小伙伴给个三…

基于STC12C5A60S2系列1T 8051单片机实现串口调试助手软件与单片机相互发送数据的RS485通信功能

基于STC12C5A60S2系列1T 8051单片机实现串口调试助手软件与单片机相互发送数据的RS485通信功能 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机串口通信介绍STC12C5A60S2系列1T 8051单片机串口通信的结构基于STC12C5A60S2系列1T 8051单片机串口通信的特殊功…

力扣 74.搜索二维矩阵

题目描述&#xff1a; 给你一个满足下述两条属性的 m x n 整数矩阵&#xff1a; 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target &#xff0c;如果 target 在矩阵中&#xff0c;返回 true &#xff1b;否则&am…

MySQL和MariaDB的对比和选型

目录 1 基本介绍 2 功能对比 3 性能对比 4 兼容性 5 社区支持和发展 6 安全性 7 选择建议 8 结论 除去功能本身的对比&#xff0c;相应各位看官不一定能看出太大所以然&#xff0c;而且对于大部分同学来说&#xff0c;使用起来感觉应该差不多。 所以综合来说&#xff0…

决策树Decision Tree

目录 一、介绍发展优点缺点基本原理 二、熵1、熵2、条件熵3、信息增益4、信息增益率 三、基尼系数四、ID3算法1、建树过程2、优点3、缺点 五、C4.51、二分法处理连续变量1、流程&#xff1a;2、示例 2、缺点 六、CART1、连续数据处理2、离散数据处理3、CART回归原理1、均方误差…

定时器更新界面,线程报错

项目场景&#xff1a; 在javafx框架下使用线程更新UI的时候&#xff0c;出现无法正常更新UI。 问题代码如下&#xff1a; package clock;import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Timer; import java.util.TimerTask;import javaf…

【机器学习】机器学习引领AI:重塑人类社会的新纪元

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀机器学习引领AI &#x1f4d2;1. 引言&#x1f4d5;2. 人工智能&#xff08;AI&#xff09;&#x1f308;人工智能的发展&#x1f31e;应用领…

每日两题6

文章目录 删除并获得点数粉刷房子 删除并获得点数 分析 class Solution { public:int deleteAndEarn(vector<int>& nums) {const int N 10001;// 预处理int arr[N] {0};for (int& e : nums)arr[e] e;// 在 arr 上进行 打家劫舍 问题vector<int> f(N),…

【Python机器学习】NMF——模拟数据

与使用PCA不同&#xff0c;我们需要保证数据是正的&#xff0c;NMF能够对数据进行操作。这说明数据相对于原点(0,0)的位置实际上对NMF很重要。因此&#xff0c;可以将提取出来的非负向量看作是从(0,0)到数据的方向。 举例&#xff1a;NMF在二维玩具数据上的结果&#xff1a; …

基于fegin远程调用的重试功能

前言 在微服务场景中,可能因为系统中网络抖动,导致调用超时或者失败, 按照我们分布式事务角度来看的话, 如果我们在业务中只调用了一次远程的服务查询(只去查询用户服务的某个信息),如果查询失败, 从而导致整个业务回滚, 这种代价是我们不想看到,所以我们就可以基于fegin的远程…

FreeRTOS基础(十二):信号量

本篇博客&#xff0c;我们详细介绍另一个重要的应用&#xff0c;信号量。 目录 一、信号量的简介 1.0 举例理解 1.1 FreeRTOS中的应用 1.2 队列与信号量的对比 二、二值信号量 2.1 二值信号量的概念 2.2 二值信号量的API函数接口 2.2.1 使用二值信号量的过程 2.2.2 …

PDF转图片工具

背景&#xff1a; 今天有个朋友找我&#xff1a;“我有个文件需要更改&#xff0c;但是文档是PDF的&#xff0c;需要你帮我改下内容&#xff0c;你是搞软件的&#xff0c;这个对你应该是轻车熟路了吧&#xff0c;帮我弄弄吧”&#xff0c;听到这话我本想反驳&#xff0c;我是开…