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会短暂黑屏为正常情况

完成

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

相关推荐
玩机达人881 分钟前
三星S25Ultra/S24安卓16系统Oneui8成功获取完美root权限+LSP框架
android·linux·里氏替换原则
愚润求学7 分钟前
【Linux】数据链路层 and 其他知识
linux·运维·网络
刀法孜然15 分钟前
vim 编辑中,临时挂起编辑器进程,返回到终端命令行
linux·编辑器·vim
Amelio_Ming17 分钟前
systemd-journald和rsyslogd日志配置详解
linux·运维·服务器
九皇叔叔1 小时前
Linux Shell 中的 $():命令替换的核心用法
linux·运维·chrome
半桔1 小时前
【网络编程】详解 IP 协议:报头字段、路由器功能、网段划分和分片传输
linux·网络·网络协议·tcp/ip
大聪明-PLUS1 小时前
TCP/IP 协议族—理论与实践(二)
linux·嵌入式·arm·smarc
liulilittle2 小时前
Linux内核网络优化:两个网络调优解决方案
linux·运维·服务器·网络·内核·信息与通信·通信
hweiyu002 小时前
Linux运维实战:系统及服务管理(视频教程)
linux·运维·服务器
风随心飞飞2 小时前
linux 环境下mysql 数据库自动备份和清库 通过crontab 创建定时任务实现mysql数据库备份
linux·数据库·mysql