PXE批量装centos7系统

1.环境准备:

yum -y install tftp-server  xinetd #安装并启用 TFTP 服务
#修改TFTP服务的配置文件
vim /etc/xinetd.d/tftp 
protocol = udp                        # TFTP默认使用UDP协议
wait = no                             # no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接
server_args = -s /var/lib/tftpboot    # 指定TFTP根目录(引导文件的存储路径)
disable = no                          # no表示开启TFTP服务

#重启服务
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd

#安装并启用 DHCP 服务
yum -y install dhcp

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example    /etc/dhcp/dhcpd.conf

修改DHCP服务的配置文件
# vim /etc/dhcp/dhcpd.conf

# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

# option definitions common to all supported networks...
log-facility local7;

subnet 192.168.42.0 netmask 255.0.0.0 {          #指定为那个网段分配网络参数
   range 192.168.42.0 192.168.42.100;               #设置准备为客户端分配的IP地址范围
   option domain-name-servers 192.168.0.12;     #设置分配给客户端的DNS服务器地址
   option routers 192.168.0.2;                  #设置分配给客户端的网关地址。
   # option broadcast-address 10.5.5.31;     #广播地址,注释掉后用默认的
   default-lease-time 600;                       # 地址租赁时间 600秒后失效
   max-lease-time 7200; 
   next-server 192.168.42.12;                    # 下一个要访问的地址,就是tftp地址。
   filename "pxelinux.0";                         #要访问tftp上哪一个文件。
          }

#重启服务并设置自启动

systemctl start dhcpd
systemctl enable dhcpd
ss -tulanp|grep -w 67        #查看端口

2、准备Linux内核、初始化镜像

mount /dev/cdrom  /mnt         #先挂载光盘镜像

# 这里需要将两个重要文件复制到/var/lib/tftpboot/(vmlinuz、initrd.img)
cd /mnt/images/pxeboot                  
cp vmlinuz /var/lib/tftpboot/               #复制 Linux系统的内核文件 到TFTP根目录下
cp initrd.img /var/lib/tftpboot/            #复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下

3、准备PXE引导程序

yum -y install syslinux     # PXE引导程序由软件包 syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/    # 复制 PXE引导程序 到TFTP根目录下

4、安装FTP服务,准备CentOS 7 安装源

yum -y install vsftpd     # 安装vsftpd服务

mkdir /var/ftp/centos7    #  新建centos7目录,并将光盘镜像下的文件全部复制到centos7目录下

cp -rf /mnt/* /var/ftp/centos7/    

systemctl enable vsftpd
systemctl start vsftpd

5、关闭防火墙,验证 PXE 网络安装
使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时可能会报错。
6、通过kickstart无人值守自动装机

```bash
#准备安装应答文件,安装system-config-kickstart 工具
yum install -y system-config-kickstart    # 需要图形化机器支持,没有图形化直接跳过

打开“Kickstart 配置程序”窗口 通过桌面菜单“应用程序”–>“系统工具”–>“Kickstart” 打开 或执行 “system-config-kickstart” 命令打开

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$vaNL5KxU$3IP6YfK3wcOYns3En/C8J1
# System language
lang zh_CN
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
#graphical   #是否选择有图形安装
text    #不选择图形安装
firstboot --disable
# SELinux configuration
selinux --disabled
skipx



# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Use network installation
url --url="ftp://192.168.171.170/centos"
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=2048
part /home --fstype="xfs" --size=2048
part / --fstype="xfs" --grow --asprimary --size=1

%packages
@^minimal
@core
@development
@system-admin-tools
gcc
glibc
gcc-c++
openssl-devel
openssh
tree
nmap
sysstat
lrzsz
vim
wget

%end


cp /root/ks.cfg /var/ftp/ks.cfg

7、配置启动菜单文件

```bash
# 默认的启动菜单文件在TFTP根目录的 pxelinux.cfg子目录下,文件名为default
mkdir /var/lib/tftpboot/pxelinux.cfg         # 需要在ftfpboot目录下创建pxelinux.cfg
# vim /var/lib/tftpboot/pxelinux.cfg/default   # 在pxelinux.cfg目录下创建default并编辑配置文件

default auto
prompt 0    #设置是否等待用户选择,“0”表示不等待用户控制


label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.42.170/centos7 ks=ftp://192.168.42.170/ks.cfg     ##添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径
label linux text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.42.170/centos7
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.42.170/centos7



# 重启TFTP服务
systemctl restart tftp

8、新建虚机测试
在这里插入图片描述

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

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

相关文章

通过Caliper进行压力测试程序,且汇总压力测试问题解决

环境要求 第一步. 配置基本环境 部署Caliper的计算机需要有外网权限;操作系统版本需要满足以下要求:Ubuntu >= 16.04、CentOS >= 7或MacOS >= 10.14;部署Caliper的计算机需要安装有以下软件:python 2.7、make、g++(gcc-c++)、gcc及git。第二步. 安装NodeJS # …

Linux用户及用户组权限

一、用户和用户组 功能项命令实例作用用户组cat /etc/group查看当前系统存在的用户组groupadd testing添加一个新的用户组testingcat /etc/group查看组是否被新增成功groupmod -n test testing将testing重命名成testgroupdel test删除组testgroups root查看用户root所在的所有…

爱上数据结构:顺序表和链表

一、线性表 线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使 用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构,也就说是连续的一条…

python知识点总结(十)

python知识点总结十 1、装饰器的理解、并实现一个计时器记录执行性能,并且将执行结果写入日志文件中2、队列和栈的区别,并且用python实现3、设计实现遍历目录与子目录4、CPU处理进程最慢的情况通常发生在以下几种情况下:5、CPU处理线程最慢的…

iOS客户端自动化UI自动化airtest+appium从0到1搭建macos+脚本设计demo演示+全网最全最详细保姆级有步骤有图

Android客户端自动化UI自动化airtest从0到1搭建macos脚本设计demo演示全网最全最详细保姆级有步骤有图-CSDN博客 避坑系列-必读: 不要安装iOS-Tagent ,安装appium -这2个性质其实是差不多的都是为了安装wda。注意安装appium最新版本,安装完…

洛谷 P1379 八数码难题

代码如下&#xff1a; #include<bits/stdc.h> using namespace std; struct node{string s;int pos; }star,en; map<string,int>mp[2]; queue<node>q[2]; int main(){cin>>star.s;en.s"123804765";for(int i0;i<9;i){if(star.s[i]0) sta…

利用python搭建临时文件传输服务

场景 如果想从一台服务器上传输文件又多种方法&#xff0c;其中常见的是利用scp进行传输&#xff0c;但是需要知道服务器的账号密码才能进行传输&#xff0c;但有时候我们并不知道账号密码&#xff0c;这个时候我们就可以通过python -m SimpleHTTPServer 命令进行传输文件 启…

快速幂算法在Java中的应用

引言&#xff1a; 在计算机科学和算法领域中&#xff0c;快速幂算法是一种用于高效计算幂运算的技术。在实际编程中&#xff0c;特别是在处理大数幂运算时&#xff0c;快速幂算法能够显著提高计算效率。本文将介绍如何在Java中实现快速幂算法&#xff0c;并给出一些示例代码和应…

灯哥驱动器端口讲解----foc电机驱动必看

CS:是电流采样的引脚&#xff0c;三项采样电流&#xff0c;现在只给了两路&#xff0c;另外一路算出来就行了 in:三项电流输入&#xff0c;驱动电机使用。 en:没有用 SDA,SCL&#xff1a;I2C的引脚用来读取编码器的计数值 tx,rx&#xff1a;引出来了一路串口&#xff0c;没有用…

P8623 [蓝桥杯 2015 省 B] 移动距离 Python

[蓝桥杯 2015 省 B] 移动距离 题目描述 X 星球居民小区的楼房全是一样的&#xff0c;并且按矩阵样式排列。其楼房的编号为 $1,2,3, \cdots $ 。 当排满一行时&#xff0c;从下一行相邻的楼往反方向排号。 比如&#xff1a;当小区排号宽度为 6 6 6 时&#xff0c;开始情形如…

JUC并发编程之常用方法

sleep() public void testSleepAndYield() {Thread t1 new Thread(() -> {try {log.debug("t1-sleep...");Thread.sleep(2000);} catch (InterruptedException e) {throw new RuntimeException(e);}}, "t1");log.debug("t1 start 前的状态&#…

【Linux】详解进程程序替换

一、替换原理 用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支)&#xff0c;子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时&#xff0c;该进程的用户空间代码和数据完全被新程序替换&#xff0c;从新程序的启动例程开始执…

递增的三元子序列-数组334-c++

利用栈的暴力解法&#xff0c;O(n^2)的时间复杂度&#xff0c;但是leetcode报错超时。 #include <stack>class Solution { public:bool increasingTriplet(vector<int>& nums) {int m nums.size();int n 2;for (int i 0; i < m - 3; i) {stack<int&g…

如祺出行冲刺上市:三年被罚款270万元,销售费用远高于研发开支

3月26日&#xff0c;Chenqi Technology Limited&#xff08;如祺出行&#xff09;再次递交招股书&#xff0c;准备在港交所主板上市&#xff0c;中金公司、华泰国际、农银国际为其联席保荐人。据贝多财经了解&#xff0c;如祺出行曾于2023年8月递表。 相较于此前招股书&#xf…

Swagger3探索之游龙入海

引言 后端开发中常用的接口调用工具一般使用Postman、ApiPost工具&#xff0c;但后期需要与前端联调&#xff0c;要补充接口文档花费大量时间&#xff0c;此时Swagger3应运而生&#xff0c;大大提高沟通交流的效率。 引用依赖 <!-- Swagger3 调用方式 http://ip:port/swa…

Android Studio控制台输出中文乱码问题

控制台乱码现象 安卓在调试阶段&#xff0c;需要查看app运行时的输出信息、出错提示信息。 乱码&#xff0c;会极大的阻碍开发者前进的信心&#xff0c;不能及时的根据提示信息定位问题&#xff0c;因此我们需要查看没有乱码的打印信息。 解决步骤&#xff1a; step1: 找到st…

Jetson Orin NX 安装 anaconda、cuda、torch、torchvision

第一次接触踩了不少坑&#xff0c;切忌不要按照常见服务器、电脑的思路安装。 安装 JetPack 套件 JetPack 是 Nvidia为 Jetson 系列开发板开发的一款软件开发包&#xff0c;常用的开发工具基本都有&#xff0c;安装 Jetson 会自动的将匹配版本的CUDA、cuDNN、TensorRT等安装好…

day04_JDBC_课后练习(创建数据库,表格,添加模拟数据,搭建开发环境,编写实体类,实现接口,测试)

文章目录 day04_JDBC_课后练习1、创建数据库2、创建如下表格3、添加模拟数据4、搭建开发环境&#xff0c;准备各个工具组件&#xff08;1&#xff09;使用druid&#xff08;德鲁伊&#xff09;数据库连接池&#xff08;2&#xff09;使用尚硅谷的JDBCTools工具类&#xff08;直…

【虚幻引擎】DTWebSocketServer 蓝图创建WebSocket服务器插件使用说明

本插件可以使用蓝图创建WebSocket服务器&#xff0c;并监听响应数据。 1. 节点说明 Create Web Socket Server – 创建WebSocket服务器对象并开启监听 创建一个WebSocket服务器对象&#xff0c;并监听相应端口&#xff0c;连接地址为 ws://IP:PORT, 比如ws://192.168.1.5:9001…

hcia datacom课程学习(4):ICMP与ping命令

1.什么是ICMP ICMP是ip协议的一部分&#xff0c;常用的ping命令就是基于icmp协议的。 在防火墙策略中也能看到ICMP&#xff0c;如果将其禁用&#xff0c;那么其他主机就ping不通该主机了 2. ICMP数据报 2.1数据报构成 ICMP协议的报文包含在IP数据报的数据部分&#xff0c; …