系统学习Linux-PXE无人值守装机(附改密)

目录

pxe实现系统自动安装pxe工作原理

大致的工作过程如下:

PXE的组件:

一、配置vsftpd

二、配置tftp

三、准备pxelinx.0文件、引导文件、内核文件

四、配置dhcp

配置ip

配置dhcp

五、创建default文件

六、新建测试主机用来测试装机效果

七、配置无人值守

八、linux密码破


pxe实现系统自动安装
pxe工作原理

pxe(preboot execute environment)是由inter设计的协议,它可以使计算机通过网络启动,协议分为client/server的网络模式,pxe client在网卡的rom中(网卡需要支持pxe,目前几乎所有网卡都支持pxe),当计算机引导时,bios把pxe client调入到内存执行,pxe client 通过网络从服务器下载映像,并由此支持通过网络启动操作系统,可以实现无人值守的系统安装,只要客户机加电开机,客户机就会通过网络来引导并安装系统,这种系统安装方式适用于大批量的客户机的系统安装,避免了人为的系统引导,参数设置等所有的交互,而安装时的参数由事先编写好的文件来提供,从而提供工作效率。

大致的工作过程如下:

1、 客户机发送dhcp广播请求
2、dhcp服务器向客户机提供可用的ip地址并告知客户机tftp服务器的地址
3、tftp向客户机提供内核,驱动及引导文件
4、通过ftp/http/nfs获得安装文件,而安装时的参数由ks.cfg来提供
这样不仅系统可以通过网络引导并安装,在安装时也没有了交互的信息,从而实现了完全的加电自检安装。 

PXE的组件:

vsftpd/httpd/nfs

负责提供系统的安装文件

tftp

负责提供系统安装前的引导文件与内核文件

dhcp

负责提供客户端的IP地址分配与pxe引导文件,及pxe服务器地址

一、配置vsftpd

  1. 关闭防火墙与selinux
  2. 安装vsftpd
  3. 启动vsftpd
######配置本地yum
cd /etc/yum.repos.d
mkdir back
mv CentOS-* back
vim local.repo
###插入
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
###挂载sr0,安装vsftpd
mount /dev/sr0 /mnt
yum -y install vsftpd
systemctl start vsftpd
  1. 拷贝系统文件到/var/ftp/
cd /var/ftp
mkdir centos7
cp -r /mnt/* /var/ftp/centos7
sync

二、配置tftp

###安装
yum install -y tftp-server
###修改配置文件
vim /etc/xinit.d/tftp
###修改处
disable=no
###启动
systemctl start tftp

三、准备pxelinx.0文件、引导文件、内核文件

###准备pxelinux.0文件
yum install -y syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
###准备引导文件、内核文件
cd /mnt/images/pxeboot
cp initrd.img vmlinuz /var/lib/tftpboot

四、配置dhcp

配置ip

vim /etc/sysconfig/network-scripts/ifcfg-ens33
###改为
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.253
PREFIX=24
GATEWAY=192.168.100.254
###保存退出,重启网络、ip a 查看
systemctl restart network
ip a

配置dhcp

yum -y install dhcp
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
##删除前3段的subnet字段,修改剩下的字段
subnet 192.168.100.0 netmask 255.255.255.0 {range 192.168.100.1 192.168.100.252;#option domain-name-servers ns1.internal.example.org;#option domain-name "internal.example.org";option routers 192.168.100.254;option broadcast-address 192.168.100.255;default-lease-time 600;max-lease-time 7200;next-server 192.168.100.253;filename "pxelinux.0";
}
###启动DHCP服务
systemctl start dhcpd
systemctl start nfs
systemctl start tftp

五、创建default文件

cd /var/lib/tftpboot
mkdir pxelinux.cfg
cd pxelinux.cfg
cp /var/lib/tftpboot/initrd.img vmlinuz /var/lib/tftpboot/pxelinux.cfg/
vim default
###插入内容
default auto			#默认安装标签
prompt 1				#等待用户确认,1表示等待,0表示不等待
label auto			    #定义标签kernel vmlinuz	#指定内核append initrd=initrd.img method=ftp://192.168.100.253/centos7 #指定引导镜像文件与系统安装文件

六、新建测试主机用来测试装机效果

新建虚拟机

开机,连接成功,按下回车开始安装

加载完后自动调度显示以下测试完毕

七、配置无人值守

配置ks文件

##使用图形界面配置
yum install -y system-config-kickstart.noarchsystem-config-kickstart

 基本配置

安装方法 

引导装在程序选项

分区信息

脚本看自己是否需要配置

例:local脚本 

保存 

查看是否保存

拷贝:从/root/anaconda-ks.cfg文件中拷贝软件安装字段到ks.cfg 

vim anaconda-ks.cfg
##复制以下字段插入到ks.cfg
%packages
@^graphical-server-environment
@base
@core
@desktop-debugging
@development
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@hardware-monitoring
@input-methods
@internet-browser
@multimedia
@print-client
@x11
chrony
kexec-tools%end

拷贝ks.cfg到ftp

cp ks.cfg /var/ftp

修改default文件

vim /var/lib/tftpboot/pxelinux.cfg/default
###修改
default auto
prompt 0
label autokernel vmlinuzappend initrd=initrd.img method=ftp://192.168.100.254/centos7 ks=ftp://192.168.100.254/ks.cfg

验证

自动自动自动

加载完后会自动配置并安装

安装好后会自动重启

ip是dhcp的地址池分配

八、linux密码破解

自动安装或许有忘记密码的可能所以写一份root密码恢复步骤

press ‘e’

此界面按e可进入编辑选项

找到linux行在最后加入rd.baeak 输入后执行ctrl+x开始编辑

输入ctrl+x后会进入编辑界面 switch_root:/# ;

switch_root:/# mount -o remount,rw /sysroot/   /以读写方式重新挂载/sysroot目录;
switch_root:/# chroot /sysroot                 /修改/sysroot;
sh-4.2# passwd                                 /输入要修改的密码两遍
■  ■  ■  ■  root  ■  ■  ■  ■
■  ■  ■ ■ ■
■  ■  ■  ■  ■  ■    ■ ■ ■
passwd  ■  ■  ■  ■  ■  ■  ■  ■  ■  ■  ■  ■
sh-4.2# touch /.autorelavel                   /创建/.autorelabel,如果开启SeLinux必须配置;
sh-4.2# exit                                 /退出
switch_root:/# exit                          /重启

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

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

相关文章

2023 年高教社杯全国大学生数学建模竞赛-E 题 黄河水沙监测数据分析详解+思路+Python代码

2023 年高教社杯全国大学生数学建模竞赛-E 题 黄河水沙监测数据分析 十分激动啊啊啊题目终于出来了!!官网6点就进去了结果直接卡死现在才拿到题目,我是打算A-E题全部做一遍。简单介绍一下我自己:博主专注建模四年,参与…

STC单片机+EC11编码器实现调节PWM输出占空比

STC单片机+EC11编码器实现调节PWM输出占空比 📌相关篇《stc单片机外部中断+EC11编码器实现计数功能》 📍《STC15单片机特有的PWM寄存器和普通定时器实现PWM输出》 🎬效果演示: 🌼 通过逻辑分析仪获取P11引脚上的信号波形,查看其对应输出的占空比。 ✨本例程基于上面两…

复制粘贴是怎么实现的

在上面的代码中,command 和 select 是自定义的函数。它们的作用如下: 实现复制粘贴的思路: 创建一个 textarea 标签将 textarea 移出可视区域给这个 textarea 赋值将这个 textarea 标签添加到页面中调用 textarea 的 select 方法调用 docum…

(c++)类和对象 上篇

目录 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 4.类的访问限定符及封装 5.类的作用域 6.类的实例化 7.类的对象大小的计算 8.类成员函数的this指针 1.面向过程和面向对象初步认识 C语言是面向过程的,关注的是过程,分析出求解问题的步…

外滩大会今日开幕 近20位“两院”院士、诺贝尔奖和图灵奖得主齐聚

2023 Inclusion外滩大会9月7日在上海黄浦世博园正式开幕。这场以“科技创造可持续未来”为主题的大会为期三天,近20位“两院”院士、诺贝尔奖和图灵奖得主,全球超500位有影响力的科技领军企业和专家学者,将在此带来一场科技、人文和产业的思想…

Linux下go环境安装、环境配置并执行第一个go程序

一、安装 1.Golang对Linux的内核版本要求 GO对Linux内核版本最低要求是 2.6.23,对应要求操作系统版本是: RHEL 6.0CentOS 6.0即,不支持 (RHEL 和 CentOS) 的 (4.x or 5.x)。2.下载golang的代码版本 Golang的官网下载地址:https:…

Vue2+Vue3基础入门到实战项目(七)——智慧商城项目

Vue 核心技术与实战 智慧商城 接口文档:https://apifox.com/apidoc/shared-12ab6b18-adc2-444c-ad11-0e60f5693f66/doc-2221080 演示地址:http://cba.itlike.com/public/mweb/#/ 01. 项目功能演示 1.明确功能模块 启动准备好的代码,演示…

Unity 之 利用数组来管理资源

文章目录 在Unity中,资源数组(Resource Arrays)不是Unity的标准概念。然而,您可能在特定上下文中使用数组来管理资源或游戏对象。我将解释如何在Unity中使用数组来管理资源。 资源管理: 在Unity中,资源通常…

React Hook之useContext

1. 什么是useContext React官方解释:useContext 是一个 React Hook,可以让你读取和订阅组件中的 context(React官方文档地址)。 通俗的讲,useContext的作用就是:实现组件间的状态共享,主要应用场…

2023 年全国大学生数学建模A题目-定日镜场的优化设计

A题目是个典型的优化问题 大致思路(非完整) 先说题目的模型,有点类似一个人拿着镜子,这个镜子最终要映射到某个点上,有点类似下面这个玩意儿,只不过是个大型的而已 规划的吸收塔类似这个烧水壶,…

无涯教程-JavaScript - ERFC.PRECISE函数

描述 ERFC.PRECISE函数返回x和无穷大之间集成的互补ERF函数。 互补误差函数等于1-ERF(即1-误差函数),由等式给出- $$Erfc(x) \frac {2} {\sqrt {\pi}} \int_ {x} ^ {\infty} e ^ {-t ^ 2} dt $$ 语法 ERFC.PRECISE(x)争论 Argument描述Required/OptionalxThe lower bound…

对象临时中间状态的条件竞争覆盖

Portswigger练兵场之条件竞争 🦄条件竞争之对象临时中间状态的条件竞争 Lab: Partial construction race conditions🚀实验前置必要知识点 某些框架尝试通过使用某种形式的请求锁定来防止意外的数据损坏。例如,PHP 的本机会话处理程序模块…

IT运维监控系统和网络运维一样吗

IT运维监控系统和网络运维不是一样的。IT运维监控系统是一系列IT管理产品的统称,它所包含的产品功能强大、易于使用、解决方案齐全,可一站式满足用户的各种IT管理需求。而网络运维是指对网络设备进行监控、维护和管理,包括硬件故障的排除、软…

网络技术十三:DNS(域名服务器)

DNS 域名 产生背景 通过IP地址访问目标主机,不便于记忆 通过容易记忆的域名来标识主机位置 域名的树形层次化结构 根域 领级域 主机所处的国家/区域,注册人的性质 二级域 注册人自行创建的名称 主机名 区域内部的主机的名称 由注册人自行创建…

Vue + Element UI 前端篇(九):接口格式定义

接口请求格式定义 前台显示需要后台数据,我们这里先把前后端交互接口定义好,没有后台的时候,也方便用mock模拟。 接口定义遵循几个规范: 1. 接口按功能模块划分。 系统登录:登录相关接口 用户管理:用户…

Golang RSA 生成密钥、加密、解密、签名与验签

文章目录 1.RSA2.Golang 实现 RSA生成密钥加密解密签名验签 3.dablelv/cyan参考文献 1.RSA RSA 是最常用的非对称加密算法,由 Ron Rivest、Adi Shamir、Leonard Adleman 于1977 年在麻省理工学院工作时提出,RSA 是三者姓氏首字母的拼接。 它的基本原理…

大数据安全 | (一)介绍

目录 📚大数据安全 🐇大数据安全内涵 🐇大数据安全威胁 🐇保障大数据安全 ⭐️采集环节安全技术 ⭐️存储环节安全技术 ⭐️挖掘环节安全技术 ⭐️发布环节安全技术 🐇大数据用于安全 📚隐私及其…

数据结构day07(栈和队列)

今日任务 链式队列&#xff1a; head.h #ifndef __HEAD_H__ #define __HEAD_H__#include <stdio.h> #include <stdlib.h>typedef int datatype; typedef struct link_list{datatype data;struct link_list* next; }link,*linkp; typedef struct circulate_line_t…

Redis简易入门15招

Redis简易入门15招 1、Redis简介 REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo写的key-value存储系统 。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。…

机车整备场数字孪生 | 图扑智慧铁路

机车整备场是铁路运输系统中的重要组成部分&#xff0c;它承担着机车的维修、保养和整备工作&#xff0c;对保障铁路运输的运维和安全起着至关重要的作用。 随着铁路运输的发展、机车技术的不断进步&#xff0c;以及数字化转型的不断推进&#xff0c;数字孪生技术在机车整备场…