Linux系統管理與編程16番外篇:PXE自動化安裝部署OpenEuler24.03LTS

蘭生幽谷,不為莫服而不芳;
君子行義,不為莫知而止休。

Preboot Execution Environment

本機服務器操作系統:CentOS7.9.2207

目標服務器安裝系統:openEuler-24.03-LTS-SP1-everything-x86_64-dvd.iso

虛擬機:Vmware 17.5

遠程工具:MobaXterm

虛擬機配置ip地址為:192.168.100.201

網絡模式:PXE服務器:nat、僅主機

????????? PXE被部署客戶端:僅主機

需要安裝的服務:

dhcp:申請地址進行通信

tftp:提供小文件下載服務(grubaa64.efigrub.cfginitrd.img vmlinuz)

xinetd:超級守護進程,守護tftp

httpd:提供安裝配置文佳下載服務

部署工作原理

圖1

7.1 PXE服務器網絡及yum庫準備

???????? 網絡略。

???????? yum庫搭建:我下載的是CentOS-7-x86_64-Everything-2207-02.iso光盤文件,選擇搭建本地yum+ali云的方式。

實驗步驟:

步驟0 安裝必要環境

yum install -y dnf dhcp tftp xinetd tftp-server tar net-tools wget curl httpd

步驟1 鏡像并掛載

dhcphttptftpxinetd服務做準備。

圖2

vmware在虛擬機上準備兩個光驅:一個掛載Centos7(供PXE服務器架設用)和OpenEuler(供部署客戶端數據用)

創建兩個掛載點:media/cts2207?? /var/www/html/OE2403

更改/etc/fstab

## /etc/fstab

# Created by anaconda on Thu Apr 27 15:20:40 2023

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

/dev/mapper/centos-root /?????????????????????? xfs???? defaults??????? 0 0

UUID=56a7c8a2-81a2-459e-824a-a75723d01c5b /boot???????????? xfs???? defaults??????? 0 0

/dev/mapper/centos-home /home?????????????????? xfs???? defaults??????? 0 0

/dev/mapper/centos-swap swap??????????????????? swap??? defaults??????? 0 0

/dev/sr0??????????????? /media/cts2207????????? iso9660 defaults??????? 0 0

/dev/sr1??????????????? /var/www/html/OE2403??? iso9660 defaults??????? 0 0

查看掛載情況

圖3

步驟2 配置CentOS-Media.repo

編輯/etc/yum.repos.d/CentOS-Media.repo文件,用編輯器打開/etc/yum.repos.d/CentOS-Media.repo文件,將如下內容復制進CentOS2207-Media.repo文件。添加了最高優先權:

[centos7]

name=centos7

baseurl=file:///media/cts2207

enabled=1

gpgcheck=0

priority=1

aliyunrepo文件添加優先權

圖4

步驟3 重新加載yum

保存退出后,執行yum repolist all,查看并確認已配置。

yum repolist all

2.配置 DHCP 服務(注意修改ip)

步驟1 注意

配置業務網口固定IP,例如ens34,通過配置文件/etc/sysconfig/network-scripts/ifcfg-ens36配置PXE Server對應網口的IP192.168.100.201,子網掩碼是255.255.255.240

步驟2 編輯dhcp配置文件

編輯dhcp配置文件 /etc/dhcp/dhcpd.conf最后面加入下面配置。

vi /etc/dhcp/dhcpd.conf

#ens34

subnet 192.168.100.0 netmask 255.255.255.0{

??????? range 192.168.100.225??? 192.168.100.239;

??????? default-lease-time????? 3600;

??????? filename "uefi/grubx64.efi";

??????? next-server???? 192.168.100.201;

}

設置DHCP IP(根據實際情況設置ip范圍)范圍為192.168.100.225 ~ 192.168.1.239

next server地址192.168.100.201為本地虛擬機的ip地址

filename指定grubx64.efi作為efi引導文件。

3. 配置 tftp 服務

步驟1 配置tftp服務配置

編輯/etc/xinetd.d/tftp 文件,配置如下。

注意:只修改disableno

vi /etc/xinetd.d/tftp

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

}

4. 啟動httpd,查看http服務是否能正常顯示安裝光盤內容

圖5

5. 準備ks.cfg配置文件

步驟1 創建ks文件夾

創建ks文件夾存放安裝配置

mkdir -p /var/www/html/ks

步驟2 按要求需求準備ks.cfg文件

#version=DEVEL

# Use graphical install

#graphical

text

%packages

@^server-product-environment

%end

# Keyboard layouts

keyboard --vckeymap=cn --xlayouts='cn'

# System language

lang zh_CN.UTF-8

#Network information

network --hostname=localhost.localdomain

# Use hard drive installation media

# harddrive --dir= --partition=LABEL=openEuler-24.03-LTS-x86_64

url --url http://192.168.100.201/OE2403

# Run the Setup Agent on first boot

firstboot --enable

# System services

services --disabled="chronyd"

ignoredisk --only-use=sda

autopart

# Partition clearing information

clearpart --none --initlabel

步驟3 上傳ks.cfg

cp ?~/anaconda-ks.cfg ?/var/www/html/ks/

上傳ks.cfg/var/www/html/ks,給它777權限

chmod 777 ks.cfg

ks.cfg文件是linux系統安裝成功后生成在/root下面的anaconda-ks.cfg,里面記錄著系統安裝的設置如安裝源、root用戶密碼、時區、鍵盤信息、系統語言、字體、分區配置等

步驟4 瀏覽器訪問ks.cfg文件

使用瀏覽器訪問http服務地址,能查看到內容即可

http://192.168.100.201/ks/ks.cfg

圖6

【備注】

? ? ? ? ①不要圖形界面,太耗資源,選用文本方式。

??????? ②http提供安裝文件的url

??????? ③root口令明文(簡單,但不安全)

??????? ④重啟生效

6. 防火墻和SELinux

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

7. 配置支持 PXE 啟動(注意ip修改)

步驟1 配置啟動文件

進入在tftpboot目錄下創建一個uefi目錄,執行以下命令。

cd /var/lib/tftpboot/ && mkdir uefi

步驟2 拷貝grubaa64.efi文件

cp /var/www/html/OE2403/EFI/BOOT/grubx64.efi? ./uefi/

步驟3 拷貝安裝源文件到uefi

復制vmlinuzinitrd.img/var/lib/tftpboot/uefi/目錄下,執行以下命令。

cp /var/www/html/OE2403/images/pxeboot/vmlinuz? ./

cp /var/www/html/OE2403/images/pxeboot/ initrd.img? ./

步驟4 創建grub.cfg引導文件并編輯

執行以下命令。

cd /var/lib/tftpboot/uefi/ && vi grub.cfg

編輯內容如下

set timeout=5

menuentry 'Install OpenEuler24' {

??????? linux uefi/vmlinuz ip=dhcp inst.ks=http://192.168.100.201/ks/ks.cfg

??????? inst.resolution=1024x768

??????? initrd uefi/initrd.img }

【備注】第1行?? 停止5秒

??????? 第2行?? 菜單顯示內容

??????? 第3行?? 通過UEFI模式啟動,并嘗試加載Linux內核(vmlinuz)完成安裝流程

???????????????? 通過dhcp獲得ip

???????????????? inst.ks指定Kickstart配置文件的路徑

??????? 第4行?? 啟動畫面分辨率

??????? 第5行?? 存放必要的驅動模塊,內核協同完成硬件初始化和安裝環境準備。

步驟5 配置tftpboot及子目錄權限777,執行以下命令。

chmod -R 777 /var/lib/tftpboot/

步驟6 檢查各個服務的運行情況

systemctl enable dhcpd tftp xinetd httpd

systemctl restart dhcpd tftp xinetd httpd

8. 自動安裝操作驗證

驗證是否正常自動安裝操作系統

步驟1 創建新的虛擬機(不展示過程)

圖7

步驟2 修改虛擬機VMware的引導方式

VMware的默認引導方式是Bios,需要修改為EFI

1)編輯虛擬機設置

圖7

2)選項--高級--勾選“UEFI”--“確定

圖8

3)啟動虛擬機,正常會出現下圖EFI引導

圖9

4)出現grub安裝界面

圖10

圖11

5)加載內核加載驅動

圖12

6)系統安裝自動重啟

圖13

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/81975.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/81975.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/81975.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Enhanced RTMP H.265(HEVC)技術規格解析:流媒體協議的新突破

Enhanced RTMP H.265(HEVC)技術規格解析:流媒體協議的新突破 “每一幀畫面都是時間的映射,壓縮之后的靈魂,依然能栩栩如生。” 隨著流媒體技術的快速發展,視頻編碼標準不斷推陳出新。H.264/AVC雖然已經成為…

Visual Studio Code 改成中文模式(漢化)

1、打開工具軟件(雙擊打開) 2、軟件左邊圖標點開 3、在搜索框,搜索 chinese 出現的第一個 就是簡體中文 4、點擊第一個簡體中文,右邊會出來基本信息 點擊 install 就可以安裝了(記得聯網)。 5、安裝完右…

Linux--初識文件系統fd

01. C/系統調用文件操作 C/系統調用文件操作 02. 文件系統(ext2)結構 Linux ext2文件系統,上圖為磁盤文件系統圖(內核內存映像肯定有所不同),磁盤是典型的塊設備,硬盤分區被劃分為一個個的block。一個塊的大小(有1MB,…

算法中的數學:歐拉函數

1.相關定義 互質:a與b的最大公約數為1 歐拉函數:在1~n中,與n互質的數的個數就是歐拉函數的值 eg: n1時,歐拉函數的值為1,因為1和1是互質的 n2是,值為2,因為1和2都是互質的 積性函數&…

BaseDao指南

1. BaseDao類 import java.sql.*;/*** 通用的工具類 ,負責連接數據, 執行增刪改查的通用方法*/ public class BaseDao {private Connection connection;private PreparedStatement pstm;private ResultSet rs;/*** 建立數據庫連接** return*/public Boolean getCon…

SpringBoot JAR 啟動原理

文章目錄 版本概述JAR 包結構MANIFEST.MF 描述文件JarLauncherArchive 接口launch 方法Handlers.register() 方法getClassPathUrls 方法createClassLoader 方法 時序圖參考 版本 Java 17SpringBoot 3.2.4 概述 JAR 啟動原理可以簡單理解為“java -jar的啟動原理” SpringBo…

YOLO11解決方案之速度估算探索

概述 Ultralytics提供了一系列的解決方案,利用YOLO11解決現實世界的問題,包括物體計數、模糊處理、熱力圖、安防系統、速度估計、物體追蹤等多個方面的應用。 YOLO速度估算結合物體檢測和跟蹤技術,使用YOLO11 模型檢測每幀中的物體&#xf…

初識C++:模版

本篇博客主要講解C模版的相關內容。 目錄 1.泛型編程 2.函數模板 2.1 函數模版概念 2.2 函數模版格式 2.3 函數模版的原理 2.4 函數模版的實例化 1.隱式實例化&#xff1a;讓編譯器根據實參推演模板參數的實際類型 2. 顯式實例化&#xff1a;在函數名后的<>中指定模…

人工智能100問?第27問:神經網絡與貝葉斯網絡的關系?

神經網絡與貝葉斯網絡是兩種互補的智能模型:神經網絡通過多層非線性變換從數據中學習復雜模式,擅長大規模特征提取和預測,而貝葉斯網絡基于概率推理建模變量間的條件依賴關系,擅長處理不確定性和因果推斷。兩者的融合(如貝葉斯神經網絡)結合了深度學習的表征能力與概率建…

【node.js】入門基礎

個人主頁&#xff1a;Guiat 歸屬專欄&#xff1a;node.js 文章目錄 1. Node.js簡介1.1 Node.js的核心特點1.2 Node.js適用場景 2. 第一個Node.js程序2.1 創建并運行Hello World2.2 創建簡單的HTTP服務器 3. Node.js核心概念3.1 模塊系統3.1.1 創建和導出模塊3.1.2 導入和使用模…

百度飛槳PaddleOCR 3.0開源發布 OCR精度躍升13%

百度飛槳 PaddleOCR 3.0 開源發布 2025 年 5 月 20 日&#xff0c;百度飛槳團隊正式發布了 PaddleOCR 3.0 版本&#xff0c;并將其開源。這一新版本在文字識別精度、多語種支持、手寫體識別以及高精度文檔解析等方面取得了顯著進展&#xff0c;進一步提升了 PaddleOCR 在 OCR …

Android 14 Binderized HAL開發實戰指南(AIDL版)

Android 14 Binderized HAL開發實戰指南&#xff08;AIDL版&#xff09; 環境要求 Android 14源碼編譯環境AOSP android-14.0.0_r7分支Soong build系統Java 17 & NDK r25c 項目結構 hardware/interfaces/myservice/ ├── 1.0 │ ├── IMyHalService.aidl # AID…

第九天的嘗試

目錄 一、每日一言 二、練習題 三、效果展示 四、下次題目 五、總結 一、每日一言 創造美好的代價是努力&#xff0c;失望以及毅力&#xff0c;首先是痛苦&#xff0c;然后才是歡樂。 時間是快的&#xff0c;看怎么利用&#xff0c;安排好一切事情&#xff0c;才能從容面對…

交安安全員:交通工程安全領域的關鍵角色

在交通工程這個龐大而復雜的領域中&#xff0c;交安安全員扮演著舉足輕重的角色&#xff0c;他們是安全的捍衛者&#xff0c;是交通工程順利推進的重要保障。? 交安安全員&#xff0c;專門從事公路水運工程施工企業安全生產管理工作。他們的專業身份由交通運輸部門頒發的交安…

實驗-設計一個應用系統(計算機組成原理)

目錄 一. 實驗內容 二. 實驗步驟 &#xff08;1&#xff09;七段數碼管顯示模塊 &#xff08;2&#xff09;指令模塊 &#xff08;3&#xff09;控制模塊 &#xff08;4&#xff09;ALU模塊 &#xff08;5&#xff09;CPU模塊 三. 實現效果 四. 實驗環境 五. 實驗小結…

【博客系統】博客系統第四彈:令牌技術

令牌機制 為什么不能使用 Session 實現登錄功能&#xff1f; 傳統思路&#xff1a; 登錄頁面把用戶名密碼提交給服務器。服務器端驗證用戶名密碼是否正確&#xff0c;并返回校驗結果給前端。如果密碼正確&#xff0c;則在服務器端創建 Session。通過 Cookie 把 sessionId 返回…

【瑞數3代】藥監評審中心逆向分析 | 后綴MmEwMD參數

1.目標 目標網址&#xff1a;https://www.cde.org.cn/main/news/listpage/545cf855a50574699b46b26bcb165f32 import requestscookies {FSSBBIl1UgzbN7N80S: 8sYeMWaC_IHoNl8Ckfx2y9MLiueMCkPr2V3MIoZkrMPUfzMMaXKzAoxpNPvyw4lt,Path: /,FSSBBIl1UgzbN7N80T: 3js3ygV.St6BvO20…

【漫話機器學習系列】274.基尼指數(Gini Index)

決策樹中的基尼指數&#xff08;Gini Index&#xff09;詳解 —— 從公式理解到實際應用 在構建決策樹模型時&#xff0c;一個核心問題是&#xff1a;如何選擇最優的特征來進行節點劃分&#xff1f; 這就涉及到了“劃分準則”的問題。常見的準則有信息增益、信息增益率以及本文…

R語言學習--Day07--T分布與T檢驗

昨天我們介紹了R中用于對數據進行分類的聚類分析的方法&#xff0c;接下來我們來看T分布。 T分布 T分布適用于幫我們估計整組數據&#xff08;較小的數據量&#xff0c;一般小于30&#xff09;的真實值在哪一個區間&#xff0c;具體是計算置信區間&#xff08;一般為95%&#…

數據結構與算法-線性表-雙向鏈表(Double Linked List)

1 線性表 1.4 雙向鏈表&#xff08;Double Linked List&#xff09; 雙向鏈表的結點中有兩個指針域&#xff0c;一個指向直接后繼&#xff0c;另一個指向直接前驅&#xff0c;主要是為了解決前向查找的問題。 雙向鏈表結構&#xff1a; 書籍和視頻教程都只講解了插入和刪除的…