共享`pexlinux`数据文件的网络服务

news/2024/9/15 22:47:00/ 标签: linux, 运维, 服务器

实验环境准备:

1.红帽7主机

2.要全图形安装

3.配置网络为手动,配置网络可用

4.关闭vmware DHCP功能

一、kickstart自动安装脚本制作

1.安装图形化生成kickstart自动脚本安装工具

2.启动图形制作工具

3.图形配置脚本

这里使用的共享方式是http,这里不能乱写,需要根据自己的主机IP和自己创建的共享目录来填写,需要自己提前配置好http服务,具体步骤如下:

#下载hhtpd软件包,这里我已经下载了
[root@localhost redhat]# yum install httpd -y
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-: managerThis system is not registered with an entitlement server. You can use subscription-manager to register.baseos                                                 | 2.8 kB     00:00     
Package httpd-2.4.6-95.el7.x86_64 already installed and latest version
Nothing to do#/rhel7目录是我自己创建的目录用于写仓库和挂载,根据自己所创建的目录来更改
[root@localhost redhat]# ls /rhel7/
addons            images      repodata
EFI               isolinux    RPM-GPG-KEY-redhat-beta
EULA              LiveOS      RPM-GPG-KEY-redhat-release
extra_files.json  media.repo  TRANS.TBL
GPL               Packages#将创建rhel7目录的软连接指向http服务的默认目录/var/www/html/中,创建软连接使用ln -s命令
[root@localhost redhat]# ll /var/www/html/
total 4
-rw-r--r--. 1 root root 1205 Aug  4 04:19 ks.cfg
lrwxrwxrwx. 1 root root    7 Aug  3 22:54 rhel7 -> /rhel7/

创建分区: 

 

 这里根据自己网卡名选择Add添加

 

 

 这里的内容是系统在启动后去执行的脚本,这里可以根据自己的需要去写就好了,需要启动后执行什么就在上面写上对应的命令

4.保持配置,保存路径自选,这里是/root

5.打开上面保存的ks脚本,配置安装时要下载的软件包

 删除--maxsize=1

 

6.新建一台红帽7虚拟机,测试自动安装,具体操作如下:

 

正常情况这里安装是会有问题的,不能够安装成功,还需要下面的操作,搭建DHCP服务。

二、搭建dhcp服务并测试kickstart脚本

在上一个实验的基础上继续。

1.安装dhcp服务器为其他服务器提供分配IP的功能

2.生成配置文件 

3.编写配置文件  

打叉表示35行下面的都不要

 整个配置文件内容如下:

[root@localhost ~]# cat /etc/dhcp/dhcpd.conf 
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
## option definitions common to all supported networks...
option domain-name "timingma.org";
option domain-name-servers 114.114.114.114;default-lease-time 600;
max-lease-time 7200;# Use this to enble / disable dynamic dns updates globally.
#ddns-update-style none;# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;# No service will be given on this subnet, but declaring it helps the 
# DHCP server to understand the network topology.#subnet 10.152.187.0 netmask 255.255.255.0 {
#}# This is a very basic subnet declaration.subnet 172.25.254.0 netmask 255.255.255.0 {range 172.25.254.30 172.25.254.40;option routers 172.25.254.2;
}

修改的地方如下:

 4.配置文件编写好后,启动DHCP服务

[root@localhost ~]# systemctl enable --now dhcpd

5.新建红帽7虚拟机,测试自动安装

 这里安装就可以了,正常情况就可以自动安装了。

 三、共享pexlinux数据文件的网络服务

在上一个实验的基础上继续。

1.下载软件包

  

2.启动服务
[root@localhost ~]# systemctl enable --now tftp
3.复制文件到pexlinux的默认共享目录/var/lib/tftpboot/

这里我磁盘挂载的地方是在/rhel7目录下,根据自己的具体情况来定

红帽在启动时的页面的定义是在isolinux目录下的文件定义的,所以需要将这些文件共享出去

[root@localhost ~]# df
Filesystem            1K-blocks    Used Available Use% Mounted on
devtmpfs                 914480       0    914480   0% /dev
tmpfs                    931516       0    931516   0% /dev/shm
tmpfs                    931516   10712    920804   2% /run
tmpfs                    931516       0    931516   0% /sys/fs/cgroup
/dev/mapper/rhel-root  17811456 4297536  13513920  25% /
/dev/sda1               1038336  187276    851060  19% /boot
tmpfs                    186304      36    186268   1% /run/user/1000
/dev/sr0                4420474 4420474         0 100% /rhel7
tmpfs                    186304       0    186304   0% /run/user/0
[root@localhost ~]# cp /rhel7/isolinux/* /var/lib/tftpboot/
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
4.移动到默认目录,创建default目录

5.修改/etc/dhcp/dhcpd.conf配置文件
# This is a very basic subnet declaration.subnet 172.25.254.0 netmask 255.255.255.0 {range 172.25.254.30 172.25.254.40;option routers 172.25.254.2;next-server 172.25.254.131;   #这里指定下一个服务器找谁filename "pxelinux.0";   #这个表示找哪个文件
}
6.修改default文件

前提你的共享地址在浏览器上是可以访问到的如下:

如果访问显示的错误码是404,那可能是你的文件路径有问题,没有找到,要根据自己创建的目录来定;如果是没有权限,那检查一下自己的防火墙有没有关等。

 

[root@localhost ~]# cat /var/lib/tftpboot/pxelinux.cfg/default 
default vesamenu.c32
timeout 30  #这里是在安装系统的选择页面的等待时间,30为3秒,默认是600,这里我们将其改为三秒让其指定安装display boot.msg# Clear the screen when exiting the menu, instead of leaving the menu displayed.
# For vesamenu, this means the graphical background is still displayed without
# the menu itself for as long as the screen remains in graphics mode.
menu clear
menu background splash.png
menu title Red Hat Enterprise Linux 7.9
menu vshift 8
menu rows 18
menu margin 8
#menu hidden
menu helpmsgrow 15
menu tabmsgrow 13# Border Area
menu color border * #00000000 #00000000 none# Selected item
menu color sel 0 #ffffffff #00000000 none# Title bar
menu color title 0 #ff7ba3d0 #00000000 none# Press [Tab] message
menu color tabmsg 0 #ff3a6496 #00000000 none# Unselected menu item
menu color unsel 0 #84b8ffff #00000000 none# Selected hotkey
menu color hotsel 0 #84b8ffff #00000000 none# Unselected hotkey
menu color hotkey 0 #ffffffff #00000000 none# Help text
menu color help 0 #ffffffff #00000000 none# A scrollbar of some type? Not sure.
menu color scrollbar 0 #ffffffff #ff355594 none# Timeout msg
menu color timeout 0 #ffffffff #00000000 none
menu color timeout_msg 0 #ffffffff #00000000 none# Command prompt text
menu color cmdmark 0 #84b8ffff #00000000 none
menu color cmdline 0 #ffffffff #00000000 none# Do not display the actual menu unless the user presses a key. All that is displayed is a timeout message.menu tabmsg Press Tab for full configuration options on menu items.menu separator # insert an empty line
menu separator # insert an empty linelabel linuxmenu label ^Install Red Hat Enterprise Linux 7.9 hahahahahahaha  #为了检验,我们在这里自定义一下,随便写,我这里加了hahahhahahkernel vmlinuzmenu default   #这里表示在在安装页面时的默认选项,我们将其改到开始安装这个选项这里append initrd=initrd.img repo=http://172.25.254.131/rhel7 ks=http://172.25.254.131/ks.cfg quiet     #这里的文件不能乱写了,IP地址为共享文件的主机,为了确保路径可以使用,可以自己提前在浏览器上访问一下,确保自己可以访问到label checkmenu label Test this ^media & install Red Hat Enterprise Linux 7.9kernel vmlinuz#menu default   #将默认的删除或者注释掉append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.9\x20Server.x86_64 rd.live.check quietmenu separator # insert an empty line# utilities submenu
menu begin ^Troubleshootingmenu title Troubleshootinglabel vesamenu indent count 5menu label Install Red Hat Enterprise Linux 7.9 in ^basic graphics modetext helpTry this option out if you're having trouble installingRed Hat Enterprise Linux 7.9.endtextkernel vmlinuzappend initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.9\x20Server.x86_64 xdriver=vesa nomodeset quietlabel rescuemenu indent count 5menu label ^Rescue a Red Hat Enterprise Linux systemtext helpIf the system will not boot, this lets you access filesand edit config files to try to get it booting again.endtextkernel vmlinuzappend initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.9\x20Server.x86_64 rescue quietlabel memtestmenu label Run a ^memory testtext helpIf your system is having issues, a problem with yoursystem's memory may be the cause. Use this utility tosee if the memory is working correctly.endtextkernel memtestmenu separator # insert an empty linelabel localmenu label Boot from ^local drivelocalboot 0xffffmenu separator # insert an empty line
menu separator # insert an empty linelabel returntomainmenu label Return to ^main menumenu exitmenu end
7.测试

在新建的红帽7虚拟机启动时,选择打开电源时进入固件

选择如下: 

boot选择Network boot from Intel E1000 ,通过网络引导启动的方式;'+'号向上移动,‘-’号向下移动

 

回车后选择yes 

可以看见安装页面就是我们定义的页面了,默认选择第一个,等待三秒

 3秒之后就会自动安装,只需等待就可以了

安装完成后记得关机再选择打开电源时进入固件,将启动方式更改成默认的方式:Hard Drive 即硬盘启动方式。不然会进入无限快乐模式,一直安装不停。


http://www.ppmy.cn/news/1505062.html

相关文章

酒店管理小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,酒店管理员管理,房间类型管理,房间信息管理,订单信息管理,系统管理 微信端账号功能包括:系统首页,房间信息…

微应用(Micro-Applications)、微前端(Micro Frontend)、Qiankun 框架之间的区别和联系

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo :联系我们:VX :tja6288 / EMAIL: 347969164@qq.com 文章目录 微应用(Micro-Applications)、微…

Go语言加Vue3零基础入门全栈班11 Go语言+gorm用户管理系统实战 2024年08月03日 课程笔记

概述 如果您没有Golang的基础,应该学习如下前置课程。 Golang零基础入门Golang面向对象编程Go Web 基础Go语言开发REST API接口_20240728Go语言操作MySQL开发用户管理系统API教程_20240729Redis零基础快速入门_20231227GoRedis开发用户管理系统API实战_20240730Mo…

JS如何实现禁止截屏、打印、另存为操作?

禁止缓存可以前台HTML使用 <meta http-equiv="pragma" content="no-cache" /> 屏蔽选中、粘贴、复制、剪切、右键菜单、禁止新窗口打开 HTML <body οncοntextmenu="return false" onselectstart="return false" οncοn…

搭建 Rancher 服务,配置k8s集群

1. 前提条件 前提条件&#xff1a; 安装docker&#xff0c;要求版本各节点版本一致。网上还有额外的要求&#xff1a;关闭swap、禁用selinux等等。 2. 搭建 Rancher 服务 直接通过docker命令实现即可&#xff0c;很方便。 docker run -d \--name rancher \--restart unles…

go的并发任务如何优雅的实现错误终止

errgroup使用案例 在Go语言中&#xff0c;并发任务通常通过goroutine来实现&#xff0c;而错误处理和任务终止的优雅性则依赖于适当的同步机制和错误传播策略。 场景: 管理一个任务的一组子任务&#xff0c;每个子任务一个协程每个子任务必须保证都成功&#xff0c;一个出现…

注意!!可能这是系统分析师旧教程最后一次考试,赶紧学起来

系统分析师考试是全国计算机技术与软件专业技术资格考试的高级水平考试之一&#xff0c;它是一项专业考试&#xff0c;旨在通过对计算机系统的规划、分析和设计来培养行业内的专业技术人才。近日在国家版本数据中心&#xff0c;查到系统分析师已经有2024最新版的教程出来了&…

EasyAR_稀疏空间图

EasyAR_稀疏空间图 EasyAR4.6.3 丨 Unity2020.3.15f2 1.创建稀疏空间地图 在EasyAR开发中心后台创建Scene许可证密钥&#xff0c;并且使用稀疏空间地图 2.设置稀疏空间地图库名&#xff0c;对稀疏空间地图进行管理&#xff0c;设置密钥 3.复制密钥到Unity中 添加Spatial Map Ap…

Xml,Json,Protobuffer等序列化的区别。如何选型

Xml,Json,Protobuffer等序列化的区别。如何选型 序列化&#xff1a;将对象转换为字节序列的过程称为对象的序列化&#xff1b; 反序列化&#xff1a;将字节序列恢复为对象的过程称为对象的反序列化&#xff1b; 什么时候需要序列化&#xff1f; 当你需要把内存中的对象保存到一…

深入C# .NET核心:委托与事件机制全解析

摘要&#xff1a; 在C# .NET编程中&#xff0c;委托和事件是实现异步编程和对象间通信的关键机制。理解它们的工作原理对于编写高效、响应式的应用程序至关重要。本文将深入探讨C# .NET中的委托与事件&#xff0c;从基础概念到高级应用&#xff0c;为读者提供全面的指导。 正文…

IDC权威认可:亚信安全引跑中国DDI市场

近日&#xff0c;国际数据公司&#xff08;IDC&#xff09;正式发布了《IDC China Semiannual DDI Tracker, 2023H2》&#xff0c;亚信安全域名服务和地址分配及管理系统&#xff08;AIDDI&#xff09;凭借在企业核心网络防护中自动化、安全性、智能化的突出能力&#xff0c;占…

引领未来的智能革命:深度解析【人工智能】前沿技术与应用

前几天偶然发现了一个超棒的人工智能学习网站&#xff0c;内容通俗易懂&#xff0c;讲解风趣幽默&#xff0c;简直让人欲罢不能。忍不住分享给大家&#xff0c;点击这里立刻跳转&#xff0c;开启你的AI学习之旅吧&#xff01;前言 – 人工智能教程https://www.captainbed.cn/lz…

C# ?的使用

栏目总目录 可空类型标记符&#xff08;?&#xff09; 说明&#xff1a; 可空类型标记符?用于指示某个值类型&#xff08;如int、float等&#xff09;可以为null。这是C# 2.0引入的一个特性&#xff0c;用于处理数据库查询、JSON解析等场景中可能出现的空值。 示例代码&am…

深入研究Java的String常量池

文章目录 一、StringTable分析一段代码示例一示例二示例三 二、 intern1、StringTable位置2、StringTable 性能调优3、intern深入分析3.1 思考3.2 JDK6中的解释3.3 JDK7中的解释3.4 详细分析3.5 intern正确使用的例子3.6 intern使用不当的例子 一、StringTable 常量池中的字符…

PatchCore:工业异常检测中的全面召回

PatchCore&#xff1a;工业异常检测中的全面召回 前言相关介绍PatchCore的工作原理&#xff1a;优点&#xff1a;缺点&#xff1a; 实验环境项目地址LinuxWindows 项目结构具体用法准备数据进行训练进行测试 常见问题ModuleNotFoundError: No module named patchcore解决方法 O…

[PM]面试题-综合问题

思维题 说说当前的科技行业 web3是我比较感兴趣的方向, 在国内还处于起步阶段, web3重要的特点是去中心化, 依赖的技术有以太坊, 区块链, 智能合约, 现在位置还没有特别成熟的产品形态, 发展的比较好的方向就是数字藏品和游戏方向 列举一个你认为比较好的APP, 说明其独特之处…

一则悬空指针案例

int* foo() {int a; // 变量a的作用域开始a 100;char *c "xyz"; // 变量c的作用域开始return &a; } // 变量a和c的作用域结束先来看这样一段代码。这段代码虽然可以编译通过&#xff0c;但是其实非常糟糕&#xff0c;变量 a 和 c…

【linux运维】大型文件查询特定字符串方案总结(如2GB的文本文件)

对于大型文件&#xff08;如2GB的文本文件&#xff09;&#xff0c;直接使用 grep 或其他文本处理工具可能会消耗大量的内存资源。为了更高效地处理这种情况&#xff0c;可以采用以下几种策略&#xff1a; 1. 使用 grep 的性能优化 尽管 grep 是非常高效的工具&#xff0c;但…

Unity复制对象时让私有变量也被复制的简单方法

Unity复制对象时&#xff0c;如果一个变量为公共变量&#xff08;public&#xff09;&#xff0c;那么这个变量的值会被复制到新的对象中去&#xff0c;但是如果一个变量是私有变量&#xff08;private&#xff09;&#xff0c;默认是不会被复制的&#xff0c;如果希望被复制&a…

pytorch学习笔记5 tensor 广播broadcasting

不同shape直接加减&#xff0c;系统会自动做broadcasting操作 先右对齐&#xff08;小维度对齐&#xff09; 比如&#xff1a;Feature maps&#xff1a; [4,32,14,14] Bias&#xff1a;[32,1,1] >][1,32,1,1] >[4,32,14,14] 做到与Feature maps的shape相同&#xff0c;才…