kickstart自动安装脚本

当安装Linux操作系统时,安装过程会需要回答很多关于设定的问题 这些问题必须手动选择,否则无法进行安装。当只安装1台Linux系统,手动选择设定工作量比较轻松,当安装多台Linux,这些设定需要重复多次,这些重复动作是效率低下的操作。这时,使用kickstart可以进行自动化批量安装。

一、kickstart基本配置

1、准备工作

kickstart 需要安装图形化界面

安装GUI

yum groups install "Server with GUI"

启动GUI

init 5

准备光盘镜像

关闭vmware dhcp功能

关闭防火墙

systemctl stop firewalld

关闭selinux

setenforce 0

2、下载软件

下载图形制作工具

yum install system-config-kickstart

启动图形制作工具

system-config-kickstart

3、具体配置

此步骤按情况配置(此处仅为举例)

有时无法加载需要在脚本中手动添加

添加方式

此处脚本随意编写,编写仅便于验证环境

保存路径可以自定义

修改脚本后可以使用ksvalidator ks.cfg进行语法检测

4、配置Web服务器

下载httpd

yum install httpd

开机启动

systemctl enable --now httpd

编辑默认配置文件

cd /var/www/html/

将上面生成的ks.cfg文件拷贝到/var/www/html/

cp /root/ks.cfg /var/www/html/

由于选择http的安装方法,需要配置Web服务器

创建目录

mkdir /var/www/html/rhel7

将本地挂载镜像链接到rhel7下

ln -s /CangKu/* /var/www/html/rhel7

重启httpd

systemctl restart httpd

5、配置DHCP

安装dhcp

yum install dhcp

拷贝模板便于配置

(\cp -f拷贝覆盖不提醒)

\cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

修改配置文件

重启服务

systemctl restart dhcpd

6、安装及验证

导入光盘镜像

启动服务器

于此界面点击TAB键,在行尾添加ks=http://(资源路径)

等待安装

(如果遇到问题会有[!]提醒)

安装完成

二、系统全自动配置

原理:通过在dhcp发送的软件包中增加引导文件位置,使得服务器根据引导文件中的内容完成系统初始化。需要使用PXE

PXE的全称是preboot execute environment是一种允许计算机通过网络启动操作系统而无需本地存储设备的技术。

1、下载软件

yum install syslinux
yum install tftp-server

2、具体配置

启动tftp

systemctl enable --now tftp

查询软件包有哪些目录

rpm -ql tftp-server

tftp配置文件

拷贝pxelinux.0 以及光盘系统安装文件到tftp

在/var/lib/tftpboot下创建 pxelinux.cfg目录配置default文件

mkdir /var/lib/tftpboot/pxelinux.cfg
cp /var/lib/tftpboot/isolinux.cfg pxelinux.cfg/default

编辑default文件

含义:等待时间,600是60s,是将60s分为100份,1为0.1s

30为3s

修改具体表现如下,由于是全自动安装,需要适当缩短等待时间

修改光标默认位置

默认在选项2需要删除加到选项1上

编辑dhcp配置

vim /etc/dhcp/dhcpd.conf

修改dhcp文件后需要systemctl restart dhcpd

3、验证

通过加减改变系统启动优先顺序

注意:由于在 default中选择了quiet会短暂黑屏为正常情况

完成

注意:安装完成后再次启动需要改变顺序优先硬盘启动

相关推荐
IT研究所7 小时前
IT 资产管理 (ITAM) 与 ITSM 协同实践:构建从资产到服务的闭环管理体系
大数据·运维·人工智能·科技·安全·低代码·自动化
Codefengfeng7 小时前
分辨压缩包的真加密与伪加密
linux·运维·网络
014.7 小时前
2025最新jenkins保姆级教程!!!
java·运维·spring boot·spring·jenkins
leifengzhy7 小时前
Jenkins使用pipeline和maven创建项目
运维·jenkins·maven
码农阿豪7 小时前
Jenkins Git 克隆失败深度解析:从 “Connection reset by peer“ 到彻底解决
运维·git·jenkins
暴力求解7 小时前
Linux---进程(五)进程调度
linux·运维·服务器
楼田莉子7 小时前
C++项目:日志&&线程池
linux·c++·学习·visual studio code
wsad05327 小时前
Linux 用户和组管理完整指南(中英文参数对照)
linux·运维·服务器
S-码农8 小时前
Linux进程通讯——共享内存
linux
EmbedLinX8 小时前
嵌入式Linux之U-Boot
linux·服务器·笔记·学习