当前位置: 首页 > news >正文

配置PXE预启动执行环境:Kickstart自动化无人值守安装


文章目录

  • 实现 Kickstart 无人值守安装
    • 1. 安装Kickstart和配置应答文件(图形化界面)
    • 2. 配置 PXE 菜单支持 Kickstart 无人值守安装
    • 3. 验证 Kickstart 无人值守安装
    • 4. 拓展:命令行配置应答文件(命令行界面)


实现 Kickstart 无人值守安装

Kickstart 是 Red Hat 系统的一个工具,用于自动化系统安装。通过预先配置的应答文件,可以实现无人值守的系统安装。

1. 安装Kickstart和配置应答文件(图形化界面)

  1. 安装 Kickstart 配置工具

    yum install -y system-config-kickstart  
    # 安装 Kickstart 配置工具
    
  2. 打开 Kickstart 配置程序

    可以通过桌面菜单“应用程序”–>“系统工具”–>“Kickstart” 打开,或执行 system-config-kickstart 命令。

  3. 配置 Kickstart 选项

    • 基本配置

      • 默认语言设为“中文(简体)”
      • 时区设为“Asia/Shanghai”
      • 设置 root 密码
      • 高级配置中勾选“安装后重启”。

      在这里插入图片描述

    • 安装方法

      • 选择 FTP
      • FTP 服务器:ftp://192.168.80.10
      • FTP 目录:centos7

      在这里插入图片描述

    • 引导装载程序选项

      • 安装类型:安装新引导装载程序
      • 安装选项:在主引导记录(MBR)中安装引导装载程序

      在这里插入图片描述

    • 分区信息

      • 清除主引导记录
      • 删除所有现存分区
      • 初始化磁盘标签
      • 添加分区:
        • /boot,文件系统类型:xfs,固定大小:500M
        • swap,固定大小:4096M
        • /home,文件系统类型:xfs,固定大小:4096M
        • /,文件系统类型:xfs,使用磁盘上全部未使用空间

      在这里插入图片描述

    • 网络配置

      • 添加网络设备 ens33
      • 网络类型设为 DHCP
    • 防火墙配置

      • 禁用 SELinux、禁用防火墙
    • 软件包安装

      • 选择“最小安装”,并在详细包中选择“调试工具”和“兼容性库”。
      • 页面可能会报错:“由于下载软件包信息失败,软件包选择被禁止。”,在后续操作再配置。
    • 安装后脚本配置YUM仓库

      • 勾选“使用解释程序”:/bin/bash

      • 脚本编辑(注意格式):

        rm -rf /etc/yum.repos.d/*
        echo '[local]
        name=local
        baseurl=ftp://192.168.80.10/centos7
        enabled=1
        gpgcheck=0' > /etc/yum.repos.d/local.repo
        
  4. 保存生成的 Kickstart 应答文件

    将 Kickstart 文件保存为 ks.cfg (默认保存在 root/ks.cfg ),并复制到 FTP 服务器的 /var/ftp 目录下。

    cp /root/ks.cfg /var/ftp/ks.cfg
    # 将 Kickstart 应答文件复制到 FTP 服务器
    
  5. 配置安装软件包

    可以根据实际需求将/root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg文件中,只需要复制%packages 到%end 部分即可。

    ks.cfg 文件中指定要安装的软件包。如,最小化安装时使用以下内容:

    vim /var/ftp/ks.cfg%packages
    @^minimal
    %end
    

2. 配置 PXE 菜单支持 Kickstart 无人值守安装

/var/lib/tftpboot/pxelinux.cfg/default 文件中,添加 Kickstart 启动入口:

vim /var/lib/tftpboot/pxelinux.cfg/default	default auto 							
prompt 0 	#设置是否等待用户选择,“0”表示不等待用户控制label auto								
kernel vmlinuz	#kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.80.10/centos7 ks=ftp://192.168.80.10/ks.cfg
#添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径# 方式二,直接配置入口,不建议,未测试
label linux ks  # 无人值守安装引导入口
kernel vmlinuz
append ks=ftp://192.168.80.10/ks.cfg initrd=initrd.img method=ftp://192.168.80.10/centos7

3. 验证 Kickstart 无人值守安装

每次客户端通过 PXE 引导时,将自动加载 ks.cfg 配置文件,并按照其中的指示安装 CentOS 7 系统,无需人工干预。

登录系统后验证YUM源是否更改:

cat /etc/yum.repos.d/local.repo  
# 验证本地 YUM 源配置是否正确

在这里插入图片描述

在这里插入图片描述

4. 拓展:命令行配置应答文件(命令行界面)

在命令行中配置 Kickstart 文件,需手动编辑 ks.cfg 文件,并加入相应的配置指令。以下是详细的配置步骤:

  1. 基本配置
# 设置语言
lang zh_CN.UTF-8# 设置时区
timezone Asia/Shanghai# 设置 root 密码(明文密码)
rootpw --plaintext your_root_password# 安装后重启
reboot
  1. 安装方法
# 选择安装方法为 FTP,并指定服务器和目录
url --url="<ftp://192.168.80.10/centos7>"
  1. 引导装载程序选项
# 安装新的引导装载程序到主引导记录(MBR)
bootloader --location=mbr
  1. 分区信息
# 清除主引导记录
zerombr# 删除所有现存分区
clearpart --all --initlabel# 添加分区
part /boot --fstype="xfs" --size=500
part swap --size=4096
part /home --fstype="xfs" --size=4096
part / --fstype="xfs" --grow --size=1
  1. 网络配置
# 配置网络设备 ens33 ,使用 DHCP
network --bootproto=dhcp --device=ens33 --onboot=yes
  1. 防火墙配置
# 禁用防火墙
firewall --disabled# 禁用 SELinux
selinux --disabled
  1. 软件包安装
%packages
@^minimal
@debugging
@compat-libraries
%end
  1. 安装后脚本配置 YUM 仓库
%post --interpreter /bin/bash
rm -rf /etc/yum.repos.d/*
echo '[local]
name=local
baseurl=ftp://192.168.80.10/centos7
enabled=1
gpgcheck=0' > /etc/yum.repos.d/local.repo
%end

完整的 ks.cfg 文件示例

# Kickstart 配置文件# 1. 基本配置
lang zh_CN.UTF-8
timezone Asia/Shanghai
rootpw --plaintext your_root_password
reboot# 2. 安装方法
url --url="<ftp://192.168.80.10/centos7>"# 3. 引导装载程序选项
bootloader --location=mbr# 4. 分区信息
zerombr
clearpart --all --initlabel
part /boot --fstype="xfs" --size=500
part swap --size=4096
part /home --fstype="xfs" --size=4096
part / --fstype="xfs" --grow --size=1# 5. 网络配置
network --bootproto=dhcp --device=ens33 --onboot=yes# 6. 防火墙配置
firewall --disabled
selinux --disabled# 7. 软件包安装
%packages
@^minimal
@debugging
@compat-libraries
%end# 8. 安装后脚本配置 YUM 仓库
%post --interpreter /bin/bash
rm -rf /etc/yum.repos.d/*
echo '[local]
name=local
baseurl=ftp://192.168.80.10/centos7
enabled=1
gpgcheck=0' > /etc/yum.repos.d/local.repo
%end

说明

  • rootpw:设置 root 用户的密码,可以用 -iscrypted 选项加密存储密码。
  • network:配置网络设备,默认设置 ens33 使用 DHCP。
  • %post:定义安装后脚本,配置 YUM 仓库。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 玉米病害-目标检测数据集(包括VOC格式、YOLO格式)
  • ArrayList与顺序表
  • 基于Vue3和Node.js的完整增删改查项目实现教程:从后端封装到前端调用
  • 【Go - 每日一小问: 对未初始化的的 chan 进行读写,会怎么样?为什么?】
  • Android笔试面试题AI答之Kotlin常见考点总结
  • 【Android】Navigation动态设置Graph和Launch参数
  • Qt详解QPropertyAnimation创建属性动画
  • SQLserver中的日期时间
  • 牛津大学发布首篇《Transformer多模态学习》综述论文,23页pdf涵盖310篇文献全面阐述MMT的理论与应用
  • 智能废弃瓶子垃圾箱:城市环境的绿色守护者
  • javascript语句之switch
  • 鸿蒙(API 12 Beta3版)【使用ImagePacker完成图片编码】图片开发指导
  • Prompt + 工作流组件 = AI智能体:开启智能化新时代
  • SBB | 南京林业大学阮宏华团队揭示人工林发育过程中土壤有机碳积累的主要机制
  • 【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(十四)
  • ES6指北【2】—— 箭头函数
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • Computed property XXX was assigned to but it has no setter
  • DOM的那些事
  • JavaScript 基本功--面试宝典
  • JS专题之继承
  • mysql_config not found
  • Promise初体验
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 前端相关框架总和
  • 实现菜单下拉伸展折叠效果demo
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #nginx配置案例
  • (C++17) std算法之执行策略 execution
  • (C语言)逆序输出字符串
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (办公)springboot配置aop处理请求.
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (十八)三元表达式和列表解析
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .net core 6 集成和使用 mongodb
  • .NET MVC第五章、模型绑定获取表单数据
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @RestController注解的使用
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • []AT 指令 收发短信和GPRS上网 SIM508/548
  • [2019.3.5]BZOJ1934 [Shoi2007]Vote 善意的投票
  • [④ADRV902x]: Digital Filter Configuration(发射端)
  • [AI]文心一言爆火的同时,ChatGPT带来了这么多的开源项目你了解吗
  • [AndroidStudio]_[初级]_[修改虚拟设备镜像文件的存放位置]
  • [Angular] 笔记 9:list/detail 页面以及@Output
  • [BZOJ 3282] Tree 【LCT】
  • [BZOJ4566][HAOI2016]找相同字符(SAM)