kickstart自动安装脚本制作详解

news2024/11/17 21:24:36

一、kickstart自动安装脚本制作

此实验中,使用Rhel7.9,并开启图形化系统

1.设置实验环境
1.使用Rhel7.9
2.需要打开图形化系统
[root@pxe ~]# hostnamectl                             # 查看当前系统是否为图形化
   Static hostname: pxe
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 8d41e45d0484463ab5cc573fe257c740
           Boot ID: 0b58de8f3bea437b87c2513711a788b1
    Virtualization: vmware
  Operating System: Red Hat Enterprise Linux Server 7.9 (Maipo)
       CPE OS Name: cpe:/o:redhat:enterprise_linux:7.9:GA:server
            Kernel: Linux 3.10.0-1160.el7.x86_64
      Architecture: x86-64
[root@pxe ~]# init 5                                  # 若系统中存在图形化界面,可使用此命令切换到运行级别5,进入到多用户模式并启动图形用户界面

在系统中的运行级别如下:
0:关机
1:单用户模式(用于系统维护)
2:多用户模式,不带网络(不常用)
3:多用户模式,带网络(常用于服务器)
4:用户自定义(不常用)
5:多用户模式,带网络和图形界面(GUI)
6:重启

#若系统中不存在图形化界面,则需要进行下载
[root@pxe ~]# yum groups list                  # 列出所有可用的软件包组,找到图形化软件包组进行下载
Available Environment Groups:
. . . 
Server with GUI       -- 图形化软件包组
[root@pxe ~]# yum install group "Server with GUI" -y     # 下载图形化软件包组
[root@pxe ~]# systemctl set-default graphical.target     # 指定开机进入到多用户图形化界面
[root@pxe ~]# reboot # 重启系统

3.配置网络可用
[root@pxe ~]# cd /etc/sysconfig/network-scripts/         # 进入主机网卡配置目录
[root@pxe network-scripts]# vim ifcfg-eth0               # 配置IP
[root@pxe network-scripts]# cat ifcfg-eth0 
DEVICE=eth0              
ONBOOT=yes               
BOOTPROTO=none           
IPADDR=172.25.254.101   
NETMASK1=255.255.255.0   
DNS1=114.114.114.114    
GATEWAY1=172.25.254.2    
NAME=eth0

4.关闭VMware dhcp功能

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

2.查看系统在安装过程中的所有设定
[root@pxe ~]# cat /root/anaconda-ks.cfg                   # 此系统文件是在系统安装好后自动生效的,这个文件记录了系统在安装过程中的所有设定
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512  -- 系统用户加密的算法      
# Use CDROM installation media
cdrom      -- 安装系统时的安装源(相当于光驱)
# Use graphical install
graphical   -- 安装过程时的图形化界面
# Run the Setup Agent on first boot
firstboot --enable    -- 在系统安装完成时,需要系统进行首次设定

# Keyboard layouts    -- 键盘选择
keyboard --vckeymap=cn --xlayouts='cn'
# System language     -- 系统支持语言
lang zh_CN.UTF-8

# Network information -- 网络
network  --bootproto=dhcp --device=ens33 --ipv6=auto --activate
network  --hostname=localhost.localdomain

repo --name="Server-ResilientStorage" baseurl=file:///run/install/repo/addons/ResilientStorage     -- repo在安装软件读取软件包的路径
# Root password           -- 超级用户root密码
rootpw --iscrypted $6$KEh23FJG924g0Yn4$k9RVbmqAw6vzbSF5GJyhnN9eDSzwABXD5CQXqqooigNO8XK0XQ7p4eRlR3mmG2gacS3gPxF4qqo8skah/AqEs1
# System services        -- 系统在安装过程需要开启哪些服务
services --enabled="chronyd"          
# System timezone        -- 
timezone Asia/Shanghai --isUtc
user --name=haha --password=$6$HYfZRCtQNCFwYrLL$eILzEcxQ477p.leATJzlOQ6keD0OdAhA6rbzstEAzOFcWUVxyu1nEizLY9ylHt.UFtHGxKyc2Q9seuorfKJvh/ --iscrypted --gecos="HaHa"          -- 创建的普通用户 
# X Window System configuration information          
xconfig  --startxonboot              -- 在安装好系统后是否启动图形
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda      -- 引导方式
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel          -- 清理磁盘,注释磁盘化标签

%packages         -- 安装包
@^graphical-server-environment        -- ^尖括号表示大写 @ 表示软件包组 若没有则为软件包
@backup-server
@base
ftp-server
%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

3.kickstart自动安装脚本
安装kickstart
[root@pxe ~]# yum install system-config-kickstart -y    # 安装kickstart
[root@pxe ~]# system-config-kickstart                   # 启动图形化制作工具

按照此过程进行操作

1.Basic Configuuration – 基本配置

在这里插入图片描述

2.Installation Method – 安装方法

在这里插入图片描述

测试网络引导
[root@pxe ~]# ln -s /rhel7/ /var/www/html/            # 创建软链接到httpd的网页发布目录;注-此处的/rhel7 为主机的挂载点,
[root@pxe ~]# ls /var/www/html/
rhel7
[root@pxe ~]# systemctl stop firewalld                # 关闭防火墙
[root@pxe ~]# setenforce 0                            # 设置seLinux为宽容模式

网页测试

在这里插入图片描述

3.Boot Loader Options – 引导装载程序选项

在这里插入图片描述

4.Partition Information – 分区信息

选择/ xfs 时需要选择Fill all unused space on disk(使用磁盘上全部未用空间)

其它分区按照下图来操作即可

在这里插入图片描述

5.Network Configuration – 网络配置

在这里插入图片描述

6.Authentication – 验证

在这里插入图片描述

7.Firewall Configuration – 防火墙配置

在这里插入图片描述

8.Display Configuration – 显示配置

在这里插入图片描述

9.Package Selection – 软件包选择

在这里插入图片描述

10.Pre-Installation Script – 预安装脚本

在这里插入图片描述

11.Post-Installation Script – 安装后脚本

在这里插入图片描述

12.选择保存

在这里插入图片描述

在这里插入图片描述

13.添加软件包选择

[root@pxe ~]# vim ks.cfg                # 配置脚本文件,添加软件包选择
 42 %packages
 43 @base
 44 httpd
 45 %end
[root@pxe ~]# ksvalidator ks.cfg    # 检测配置脚本文件中是否有语法错误
[root@pxe ~]# cp /root/ks.cfg /var/www/html/ # 将脚本文件添加到httpd的网页发布目录,进行共享

测试

1.测试脚本文件是否可共享

在这里插入图片描述

由此看出,自动化脚本文件可进行共享,因此当他人进行系统安装时,可通过给访问此网络地址进行网络镜像安装

2.使用VMware建立新的虚拟机进行测试

通过在系统安装界面可以看到有三个选项,此时按住键盘的Tab键进行输入访问前面所做的ks.cfg安装引导文件,输入完成后点击Ent键进行安装

ks=http://172.25.254.101/ks.cfg

在这里插入图片描述

在这里插入图片描述

进入系统安装界面后,此时还不能进行安装,需要在服务器端进行dhcp软件包的下载进行配置后才能进行访问此服务通过ks.cfgi通过网络的方式进行系统安装

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

1.安装配置DHCP
[root@pxe ~]# yum search dhcp                    # 查找dhcp安装包
[root@pxe ~]# yum install dhcp.x86_64 -y         # 安装dhcp服务器为其他服务器提供分配ip的功能
[root@pxe ~]# rpm -qc dhcp       # 查找DHCP的主配置文件
/etc/dhcp/dhcpd.conf
. . . 

[root@pxe ~]# cat /etc/dhcp/dhcpd.conf    # 但此时查看配置文件时,里面为空,可根据里面提供的帮助进行添加
[root@pxe ~]# \cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf             # 根据配置文件帮助的提供,将模板文件复制到该配置文件下,生成配置文件,但在此需要加\ 为\cp(告诉系统执行的时真实命令)

[root@pxe ~]# vim /etc/dhcp/dhcpd.conf         # 编辑dhcp配置文件,因为此配置是从模板复制过来的,在这个实验中不需要用到所有文件,因此需要将37行后面删掉。
  7 option domain-name "HaHa.org";              -- 公司域名(此时为主机域名)
  8 option domain-name-servers 114.114.114.114; -- dhcp工作模式的网络主机获得的DNS的地址(对外分发的DNS地址)
-- 将27,28行注释
 27 #subnet 10.152.187.0 netmask 255.255.255.0 {  
 28 #}
 32 subnet 172.25.254.0 netmask 255.255.255.0 {    -- IP网段和子网掩码
 33   range 172.25.254.30 172.25.254.40;           -- 地址池(分发IP范围)
 34   option routers 172.25.254.2;                 -- 网关
 35 }
 
 [root@pxe ~]# systemctl enable --now dhcpd   # 在系统启动时启用并立即启动dhcp
 
 # 若想知道主机中获得的IP是不是服务机通过dhcp下发的IP可使用以下命令查看,查看内容时,当ip和客户端的子网掩码相对应,就是服务机通过dhcp下发的
 
 [root@pxe ~]# cat /var/lib/dhcpd/dhcpd.leases    # 记录 DHCP 服务器分配的 IP 地址及其租约信息文件
2.测试kickstart脚本

1)、创建新的虚拟机

2)、开机进入界面,按住键盘的Tab键进行输入访问前面所做的ks.cfg安装引导文件,输入完成后点击Ent键进行安装

在这里插入图片描述

显示在调用kickstart

在这里插入图片描述

等待安装过程…

在这里插入图片描述

安装完成,kicktart脚本测试成功

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

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

相关文章

数字赋能下的艺术蝶变:沃可趣如何重塑乐园演艺人才培训?

全球知名主题乐园在2023年共接待游客超过1300万人次。 这意味着,在童话世界里创造快乐的演职人员们,平均每天要与三、四万人见面,以精湛的演技服务好每一个人,其工作难度和强度不言而喻。 减轻员工负担,帮助员工成长…

江协科技STM32学习- P4 新建工程

🚀write in front🚀 🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​…

大语言模型超参数调整指南:入门调参的实用手册

在人工智能的广阔天地中,大语言模型(LLM)正以其强大的能力,不断刷新我们对机器理解语言的认知。然而,要使这些模型在特定应用场景下发挥最大效能,关键在于如何巧妙地调整其超参数。本文将带你深入探索 LLM …

4. 数组与集合

数据结构是管理和组织数据的基础,它直接影响到程序的性能和效率。在本章中,我们将深入探讨与数组和集合相关的知识。这些数据结构在Java编程中至关重要,无论是处理简单的线性数据还是复杂的多维数据,合理使用这些结构都能大大提高…

100个智能体实战技巧 | 如何让工作流也能处理图片

相信不少朋友都遇到过想要在工作流中处理图片但是却无从下手的情况 举个例子,扣子中有个插件叫OCR,是可以用来识别图中的文字的 然而作为一个插件,它只能在工作流中被调用,如下图 工作流 vs. 图像流 这就意味着,要使用…

Modal中的跳转用<Link>组件会报错?

在做链接跳转时,一般是用a标签或者link标签。但是当团队规范使用标签时,在modal(antd的版本4)中使用可能就有问题了。 报错内容是,发现link在使用时找不到路由上下文。因此报错。 原因:Link 组件在 return …

Vue3-响应式原理解析

vue3 与 vue2 主要差异之一无疑是响应式实现上的改变。本文主要阐述响应式原理的实现方式解析以及核心源码阅读的注释理解。 本文主要对响应式实现原理进行逻辑梳理,舍弃枯燥无味的代码,只用图解/文字进行功能描述,具体实现请自行阅读。保重!!! 如果问题,虚心求教,还请…

xxl_job任务调度简单使用

一、概念 任务调度是为了自动完成特定任务,在约定的特定时刻去执行任务的过程 如以下应用场景: 某电商平台需要每天上午10点,下午3点,晚上8点发放一批优惠券 某银行系统需要在信用卡到期还款日的前三天进行短信提醒 某财务系统…

UEditor百度富文本后端上传文件接口

UEditor百度富文本后端上传文件接口 直接上代码 接口: RequestMapping("/UEditorConfig")public String list(HttpServletRequest request, HttpServletResponse response) throws IOException {String config environment.getProperty("ueditor.c…

60%公司推行精益管理失败都源于同一原因,这个原因是...

精益管理在许多公司中已经成为提高运营效率、减少浪费、和提升客户满意度的重要方法。或者你觉得惊讶,根据我们的经验,超过60%的公司在实施精益管理失败,我们发现他们都有一个共同的原因,这个原因就是公司没有跟踪正确的指标&…

【图文并茂】ant design pro 如何优雅奇妙地把 crud 的 api 单独抽出来共用

我们写后台项目,经常要写增删改查的接口。 比如 角色 权限 我们不可能都写一个 api 比如 getRoles, getPermissions 这些请求列表的,都是一样的,只是路径不同 那么我们应该抽出来,放到一起,直接去调,只…

双向电表是什么电表?为什么光伏发电储能要求安装双向电能表!

双向电表是什么电表? 双向电表就在用电的时候假如是正转,那么向外送电的时候就是反转,也就是读数越来越小。反总是指反向总有功,反无是指反向总无功。 双向电表,也称为双向计量电能表,是一种能够计量用电和发电的电…

第三节:Nodify 添加连接关系

引言 Nodify有三层结构,编辑器Editor,节点Node和连接组件Connection,上节介绍了节点和编辑器,本节介绍连接组件。连接组件用于保存节点中连接端子的连接关系,并随节点的拖动改变。 1、连接组件 连接组件存储一个连接关…

海外媒体软文发稿【越南通讯社vnanet】官方媒体发布新闻稿

海外媒体软文发稿【越南通讯社vnanet】官方媒体发布新闻稿 越南通讯社(越南语:Thng tấn x Việt Nam;英语:Vietnam News Agency,简称VNA),简称“越通社”是越南国家通讯社,始建于1945年9月2日。越通社是越…

JVM的内存模型和垃圾回收

JVM内存区域 内存模型图: 堆 线程共享。所有的对象实例以及数组都要在堆上分配。回收器主要管理的对象。 它的目的是存放对象实例。同时它也是GC所管理的主要区域,因此常被称为GC堆,又由于现在收集器常使用分代算法,Java堆中还…

纷享销客AI能力在线索精细化管理中的应用与实践

1、智能评分提高线索转换效率 企业可以经过后台模型配置,和对近1-2年内线索的相关属性进行整理分析,纷享销客AI可以总结出历史相似线索的转换概率,使销售人员可以集中精力在更容易转换的线索上,提高转化效率。 纷享销客AI的智能…

pdf如何转换为jpg图片?这几种转换方法简单又实用!

pdf如何转换为jpg图片?PDF,这一广泛应用于文档传输与存储的格式,虽极大地促进了信息的电子化流通,但在日常办公实践中,也逐渐显露出其局限性,尤其是在文件管理与网络分享方面,PDF的庞大体积常导…

fastadmin 时间选择器可选择具体的时分秒

预期要达到的样式,时间区间可以直接选择具体的时分秒 找到这个文件require-form.js 在pulic/assets/js 下面 找到datetimepicker 属性 设置为true var options {timePicker: true,autoUpdateInput: false,timePickerSeconds: true,timePicker24Hour: true,autoApply: true,lo…

Llama 3.1 70B与Mistral Large 2 128B深度对比

在人工智能的浩瀚宇宙中,两颗新星正在引发行业内的轰动。Meta 的 Llama-3.1-70B 和Mistral Large-2-128B,这两大 AI 巨头以其前所未有的计算能力和复杂性,正引领着智能算法的新浪潮。它们不仅仅是技术的集大成者,更是未来可能性的…

基于微信小程序的点餐小程序/基于微信小程序的订餐系统设计与实现

微信点餐小程序 摘 要 随着互联网技术不断地发展,网络成为了人们生活的一部分,而点餐系统作为网上应用的一个全新的体现,由于其特有的便捷性,已经被人们所接受。目前主流的点餐服务不仅不明确并且管理员管理起来不容易&#xff0…