Linux之自动安装系统脚本---kickstart

kickstart的作用:一种提供自动化安装系统的方法。

每一个已经安装好的系统当中都存放着当前系统在安装时各问题的答案,存放在家目录下的anaconda-ks.cfg文件中。
在这里插入图片描述
kickstart可以创建一个文件,这个文件包含了在系统安装过程中所遇到的问题的答案。利用此文件可以实现自动化安装系统。kickstart 安装可以使用本地光盘,本地硬盘驱动器,或通过 NFS、FTP、HTTP 来执行。本篇内容考虑使用本地光盘安装系统。

安装kickstart

1. 查找yum源

命令:yum search kickstart

[root@linux7_clone ~]# yum search kickstart
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
====================================== N/S matched: kickstart ======================================
pykickstart.noarch : A python library for manipulating kickstart files
system-config-kickstart.noarch : A graphical interface for making kickstart files

  Name and summary matches only, use "search all" for everything.

2. 从镜像下载图形化kickstart制作工具

命令:yum install system-config-kickstart.noarch -y

[root@linux7_clone ~]# yum install system-config-kickstart.noarch -y
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
rhel7                                                                        | 4.3 kB  00:00:00     
Resolving Dependencies
--> Running transaction check
---> Package system-config-kickstart.noarch 0:2.9.7-1.el7 will be installed
--> Processing Dependency: system-config-keyboard >= 1.3.1 for package: system-config-kickstart-2.9.7-1.el7.noarch
--> Processing Dependency: system-config-date for package: system-config-kickstart-2.9.7-1.el7.noarch
--> Processing Dependency: system-config-language for package: system-config-kickstart-2.9.7-1.el7.noarch
--> Running transaction check
---> Package system-config-date.noarch 0:1.10.6-3.el7 will be installed
--> Processing Dependency: system-config-date-docs for package: system-config-date-1.10.6-3.el7.noarch
---> Package system-config-keyboard.noarch 0:1.4.0-5.el7 will be installed
--> Processing Dependency: system-config-keyboard-base = 1.4.0-5.el7 for package: system-config-keyboard-1.4.0-5.el7.noarch
---> Package system-config-language.noarch 0:1.4.0-9.el7 will be installed
--> Running transaction check
---> Package system-config-date-docs.noarch 0:1.0.11-4.el7 will be installed
---> Package system-config-keyboard-base.noarch 0:1.4.0-5.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================
 Package                              Arch            Version                  Repository      Size
====================================================================================================
Installing:
 system-config-kickstart              noarch          2.9.7-1.el7              rhel7          348 k
Installing for dependencies:
 system-config-date                   noarch          1.10.6-3.el7             rhel7          591 k
 system-config-date-docs              noarch          1.0.11-4.el7             rhel7          527 k
 system-config-keyboard               noarch          1.4.0-5.el7              rhel7           33 k
 system-config-keyboard-base          noarch          1.4.0-5.el7              rhel7          103 k
 system-config-language               noarch          1.4.0-9.el7              rhel7          134 k

Transaction Summary
====================================================================================================
Install  1 Package (+5 Dependent packages)

Total download size: 1.7 M
Installed size: 6.2 M
Downloading packages:
No Presto metadata available for rhel7
(1/6): system-config-date-docs-1.0.11-4.el7.noarch.rpm                       | 527 kB  00:00:02     
(2/6): system-config-date-1.10.6-3.el7.noarch.rpm                            | 591 kB  00:00:02     
(3/6): system-config-keyboard-base-1.4.0-5.el7.noarch.rpm                    | 103 kB  00:00:00     
(4/6): system-config-keyboard-1.4.0-5.el7.noarch.rpm                         |  33 kB  00:00:00     
(5/6): system-config-language-1.4.0-9.el7.noarch.rpm                         | 134 kB  00:00:00     
(6/6): system-config-kickstart-2.9.7-1.el7.noarch.rpm                        | 348 kB  00:00:00     
----------------------------------------------------------------------------------------------------
Total                                                               613 kB/s | 1.7 MB  00:00:02     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : system-config-date-docs-1.0.11-4.el7.noarch                                      1/6 
  Installing : system-config-date-1.10.6-3.el7.noarch                                           2/6 
  Installing : system-config-language-1.4.0-9.el7.noarch                                        3/6 
  Installing : system-config-keyboard-base-1.4.0-5.el7.noarch                                   4/6 
  Installing : system-config-keyboard-1.4.0-5.el7.noarch                                        5/6 
  Installing : system-config-kickstart-2.9.7-1.el7.noarch                                       6/6 
  Verifying  : system-config-keyboard-base-1.4.0-5.el7.noarch                                   1/6 
  Verifying  : system-config-date-1.10.6-3.el7.noarch                                           2/6 
  Verifying  : system-config-keyboard-1.4.0-5.el7.noarch                                        3/6 
  Verifying  : system-config-kickstart-2.9.7-1.el7.noarch                                       4/6 
  Verifying  : system-config-date-docs-1.0.11-4.el7.noarch                                      5/6 
  Verifying  : system-config-language-1.4.0-9.el7.noarch                                        6/6 

Installed:
  system-config-kickstart.noarch 0:2.9.7-1.el7                                                      

Dependency Installed:
  system-config-date.noarch 0:1.10.6-3.el7       system-config-date-docs.noarch 0:1.0.11-4.el7      
  system-config-keyboard.noarch 0:1.4.0-5.el7    system-config-keyboard-base.noarch 0:1.4.0-5.el7   
  system-config-language.noarch 0:1.4.0-9.el7   

Complete!

图形化kickstart制作工具

命令:system-config-kickstart

在这里插入图片描述

选项 含义
Basic Configuration 基本设定
Installation Method 安装资源
Boot Loader Options 启动加载
Partition Information 磁盘管理,分区
Network Configuration 网络设置
Authentication 认证设置
Firewall Configuration 火墙设置
Display Configuration 图像设置
Package Selection 软件安装
Pre-Installation Script 安装前脚本
Post-Installation Script 安装后脚本

Basic Configuration

在这里插入图片描述

Installation Method

在这里插入图片描述

Boot Loader Options

在这里插入图片描述

Partition Information

在这里插入图片描述
Add三次:分别是/boot、swap分区和根目录。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Network Configuration

在这里插入图片描述

Firewall Configuration

在这里插入图片描述
未提及的设置选择默认值即可。

Post-Installation Script

在这里插入图片描述

将以上设置保存
在这里插入图片描述
在这里插入图片描述
查看/mnt/下是否有该配置文件
在这里插入图片描述

配置文件中修改设置

上述过程中将设置保存在/mnt目录下,我们还没有配置软件安装,可以通过修改ks.cfg进行设置。

[root@linux7_clone mnt]# vim ks.cfg

添加以下语句
在这里插入图片描述
保存后检测文件配置是否正确,可通过ksvalidator命令实现。
在这里插入图片描述
因此ks.cfg中添加的语句应为:
在这里插入图片描述
检测输出无误!!

其中:
@base表示软件组的名称
lftp表示软件包的名称

发布kickstart文件

[root@linux7_clone ~]# mkdir /var/ftp/ksdir				##在ftp默认发布目录创建新目录
[root@linux7_clone ~]# cp /mnt/ks.cfg /var/ftp/ksdir	##将ks.cfg复制至ksdir目录

远程用户可查到ksdir目录,说明发布成功!!
在这里插入图片描述
通过浏览器访问该文件,可以自动安装。

注意
使用kickstart安装系统时,拥有ks.cfg的系统中必须安装好dhcp服务器,否则待安装的系统访问不到该资源。同时,若已安装好dhcp软件,还应当检查dhcp服务是否已开启,若dhcp服务处于关闭状态,也无法利用ks.cfg文件正常安装系统。

在配置新的虚拟机时使用ks.cfg文件

在Linux7中配置的ks.cfg文件也可用于Linux8系统的自动安装,以下模拟安装过程。
首先在VMWare Workstation中配置虚拟机的硬件信息,其中磁盘来源选择镜像文件。
在这里插入图片描述

在VMWare中新建虚拟机

配置好硬件信息后,进入以下页面,选择Install Red Hat Enterprise Linux 8.0.0,按下Tab键
在这里插入图片描述
执行命令访问之前配置好的ks.cfg文件
在这里插入图片描述
随后自动安装,不需要任何操作,如果中途需要执行其它操作,很大概率上是ks.cfg配置文件错误,建议重新配置ks.cfg文件。

在这里插入图片描述
进入此界面说明新建系统寻找ksckstart文件成功,若系统在此处不往下执行,可以重新配置ks.cfg文件。

系统安装好后自动重启,由于我们在编辑kickstart时,Basic Configuration设置的是Perform installation in text mode,因此系统启动后为命令行模式,通过查询mnt目录,可以看到post-installation scripts即安装后的脚本正常执行。
在这里插入图片描述

发布了58 篇原创文章 · 获赞 3 · 访问量 2157

猜你喜欢

转载自blog.csdn.net/weixin_43936250/article/details/104472288