px自动安装

embedded/2024/11/19 8:40:28/

px自动装机

pxe:自动安装系统必要的运行环境
无人值守:为系统定制化的安装需要的软件

优点

pxe的优点:
1、规模化:同时装配多台服务器(20-30)
2、自动化:系统安装和服务配置不需要人工干预
3、远程实现:不需要光盘,不需要U盘

前提条件

pxe自动装机的前提条件:
1、网卡都支持pxe协议
2、DHCP,动态的客户机分配IP地址
3、需要FTP文件传输协议
4、需要准备光盘镜像

安装过程

安装依赖环境;
DHCP,VSFTP,TFTP(简单文件传输协议,它是基于UDP协议实现的文件传输协议,适用于小文件的应用场景,xinted服务)
1、先在centos系统中安装tftp-server和xinetd两个软件

vim /etc/xinetd.d/tftp  #修改tftp的配置文件service tftp
{socket_type             = dgram   protocol                = udp  #tftp默认使用udp协议wait                    = no   #no表示客户机可以多台一起连接,yes表示客户机只能一台一台连user                    = rootserver                  = /usr/sbin/in.tftpdserver_args             = -s /var/lib/tftpboot 指定tftp根目录disable                 = no  #表示开启tftp服务per_source              = 11cps                     = 100 2flags                   = IPv4
}
保存退出
systemctl restart tftp  #重启tftp服务
systemctl enable tftp   #开机自启tftp服务
systemctl  start xinetd #开启xinetd服务
systemctl enable xinetd  #开机自启xinetd服务

在这里插入图片描述
2、安装DHCP软件

yum -y install dhcp
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/
#将dhcp配置模板复制到dhcp配置文件中
cd /etc/dhcp   #切换到/etc/dhcp的目录下
rm -rf dhcpd.conf  #将dhcp目录中原本的dhcpd.conf配置文件删除
cp dhcpd.conf.example dhcpd.conf  #将dhcpd.conf.example改名dhcpd.conf
vim dhcpd.confnext-server 192.168.42.5; #指定tftp服务器的地址filename "pxelinux.0";   #指定要下载的pxe引导程序的文件#第13行subnet 192.168.42.0 netmask 255.255.255.0 {  #声明要分配的网段地址range 192.168.42.6 192.168.42.9; #设置地址池option routers 192.168.42.5;  #默认网关地址指向tftp服务器的IP地址}
保存退出
systemctl  restart dhcpd  #重启dhcp

在这里插入图片描述
3、准备linux内核,初始化镜像文件

mount /dev/sr0 /mnt/
cd  /mnt/images/pxeboot  #切换到/mnt/images/pxeboot目录下
#将linux系统内核文件和初始化镜像文件复制到tftp的根目录
cp vmlinuz /var/lib/tftpboot/
cp initrd.img /var/lib/tftpboot/

4、准备pxe引导文件

yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/  #复制pxe文件到tftp的根目录

5、安装ftp服务,准备centos7安装源

yum -y  install vsftpd  #安装vsftpd服务
mkdir /var/ftp/centos   #在ftp根目录创建目录centos7
cp -rf  /mnt/* /var/ftp/cnetos7 #将镜像文件强制复制到centos7目录中
systemctl  restart vsftpd   #重启vsftpd服务

6、配置启动菜单文件
默认的启动菜单文件在tftp根目录的pxelinux.cfg子目录下,文件名default

mkdir /var/lib/tftpboot/pxelinux.cfg
cd /var/lib/tftpboot/pxelinux.cfg
vim defaultdefault auto #指定默认入口名称prompt 0     #设置是否等待用户选择,1表示等待用户控制#图形化安装label autokernel vmlinuzappend initrd=initrd.img method=ftp://192.168.42.5/centos7#字符串界面安装label linux  textkerenel vmlinuzappend text initrd=initrd.img methid=ftp://192.168.42.5/centos7#救援模式label linux rescuekernel vmlinuzappend rescue initrd=initrd.img method=ftp://192.168.42.5/centos
保存退出
systemctl stop  firewalld  #关闭防火墙
setenforce  0   # 关闭系统安全机制

7、实现kickstart 无人值守
安装应答软件
yum -y install system-config-kickstart
在虚拟机上打开kickstart配置程序窗口
配置kickstart选项:
基本配置:
语言选择中文,时区选择上海
在这里插入图片描述
安装方法:
选择全选安装
选择ftp,
ftp服务器:ftp://192.168.42.5
ftp目录:centos7
在这里插入图片描述
引导装载程序选项:
在这里插入图片描述
分区信息:
主引导记录:清除主引导记录
分区:删除所有现存分区
磁盘标签:初始化磁盘标签
布局:添加分区
挂载点:/boot,文件系统类型:xfs,固定大小:500M
文件系统类型:swap,固定大小:4096M
挂载点:/home,文件系统类型:xfs,固定大小:4096M
挂载点:/,文件系统类型:xfs,使用磁盘上全部未使用空间
在这里插入图片描述网络配置:
添加网络设备“ens33”
网络类型设为“DHCP”
在这里插入图片描述
防火墙配置:
禁用 SELinux、禁用防火墙
在这里插入图片描述
安装后脚本:
勾选“使用解释程序”:/bin/bash
rm -rf /etc/yum.repos.d/*
echo ‘[local]
name=local
baseurl=ftp://192.168.233.10/centos7
enabled=1
gpgcheck=0’ > /etc/yum.repos.d/local.repo
在这里插入图片描述
其它选项保持默认设置即可
保存自动应答文件
选择“Kickstart 配置程序”窗口的“文件”–>“保存”命令,选择指定保存位置,文件名为ks.cfg,默认保存在/root/ks.cfg
8、配置需要安装的软件包
把/root/ks.cfg复制到/var/ftp目录下

cp /root/ks.cfg /var/ftp/
cd /var/ftp
vim ks.cfg%packages@base@core@desktop-debugging@dial-up@directory-client@fonts@gnome-desktop@guest-desktop-agents@input-methods@internet-browser@java-platform@multimedia@network-file-system-client@print-client@x11binutilschronyftpgcckernel-develkexec-toolsmakeopen-vm-toolspatchpython%end
保存退出
cd /var/lib/tftpboot/pxelinux.cfg
vim default
#在图形化安装入口的路径后面加上ks.cfg应答文件的URL路径
ks=ftp://192.168.42.5/ks.cfg

验证无人值守安装
当客户机每次以PXE方式引导时,将自动下载ks.cfg应答配置文件,然后根据其中的设置安装CentOS 7 系统,而无须手工干预。
cat /etc/yum.repos.d/local.repo


http://www.ppmy.cn/embedded/138730.html

相关文章

大语言模型通用能力排行榜(2024年11月8日更新)

数据来源SuperCLUE 榜单数据为通用能力排行榜 排名 模型名称 机构 总分 理科 文科 Hard 使用方式 发布日期 - o1-preview OpenAI 75.85 86.07 76.6 64.89 API 2024年11月8日 - Claude 3.5 Sonnet(20241022) Anthropic 70.88 82.4…

实时通信协议概述:WebRTC、RTP/RTCP、RTMP、HLS 和 FLV 的比较与应用

总览 协议/格式细节对比适用场景用法WebRTC使用 UDP 传输协议,支持 P2P 通信,可以实现低延迟的实时通信。与其他需要服务器中转的协议相比,WebRTC 可以直接在客户端之间传输数据,降低了延迟和带宽消耗。适用于需要实时交互的场景…

大学生体能训练有哪些项目以及如何使用体能测试计算器?

体能测试在现代社会中扮演着至关重要的角色,它不仅是学生了解自身基础体能的重要途径,还是选拔人才的重要标准。 为了符合教育局提供的相关标准,许多人选择进行体能训练已达到相关标准。此外,除了公安岗和警校,消防员…

JsonObject (JSON 数据中的一个对象)

JsonObject 是 Gson 库中的一个类,它表示 JSON 数据中的一个对象。以下是 JsonObject 类的一些常用方法及其详细解释和代码案例: 1.addProperty(String memberName, String value) 向 JsonObject 中添加一个键值对,其中值是字符串。参数&am…

webpack进阶(一)

一、起步 1、基本安装 首先我们创建一个目录,初始化 npm,然后 在本地安装 webpack,接着安装 webpack-cli(此工具用于在命令行中运行 webpack): mkdir webpack-demo cd webpack-demo npm init -y npm ins…

STM32设计防丢防摔智能行李箱

目录 目录 前言 一、本设计主要实现哪些很“开门”功能? 二、电路设计原理图 1.电路图采用Altium Designer进行设计: 2.实物展示图片 三、程序源代码设计 四、获取资料内容 前言 随着科技的不断发展,嵌入式系统、物联网技术、智能设备…

微信小程序——01开发前的准备和开发工具

一、踏上小程序开发之旅前的准备 (一)小程序账号注册 开启注册流程 首先,在浏览器中打开 “微信公众平台”(微信公众平台)。进入平台后,你会看到右上角有一个 “立即注册” 按钮,点击它&#x…

深入理解 JavaScript 中的 Array.find() 方法:原理、性能优势与实用案例详解

目录 深入理解 JavaScript 中的 Array.find() 方法:原理、性能优势与实用案例详解 一、引言:为什么要使用Array.find() 二、Array.find()的使用与技巧 1、基础语法 2、返回值 3、使用技巧 三、Array.find()的优势与实际应用案例 1、利用返回引用…