银河麒麟服务器操作系统V10SP1基于Kickstart无人值守安装

2023-05-16

       KickStart(简称:ks)是一种无人值守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。

一、ks文件的生成。ks文件生成有两种方式:

        1、在已有的ks模板文件中进行修改(找一台已安装银河麒麟高级服务器操作系统的机器,在/root目录下找到initial-setup-ks.cfg文件修改)

        2、使用图形化工具system-config-kickstart生成ks文件,若没有则直接在线安装,执行命令:yum -y install system-config-kickstart

二、ks文件组成

        ks文件可分为三部分,第一部分为命令段,用于对系统的基本配置,命令有install、url、Keyboard、Lang、Network、Timezone等;第二部分为软件包段,以%packages开头,%end结尾;第三部分为脚本段,分为安装前脚本,以%pre标识;安装后脚本,以%post标识

 

       从上图可以看出银河麒麟高级服务器操作系统V10SP1安装过程中需人工干预的所有选项,以下为initial-setup-ks.cfg示例。

#命令段
#version=DEVEL
# X Window System configuration information  
xconfig  --startxonboot  #配置X window,--startxonboot使用图形界面登录系统
# License agreement  同意许可协议
eula --agreed
# Use graphical install
graphical    #以图形化进行安装,或改为text:以文本形式进行安装
# Network information   网络配置
network  --bootproto=dhcp --device=ens33 --onboot=off --ipv6=auto --no-activate
network  --bootproto=dhcp --hostname=localhost.localdomain
ignoredisk --only-use=sda   #格式化、分区仅使用sda
# Use CDROM installation media
cdrom      #以本地CD-ROM为源安装系统
# Run the Setup Agent on first boot
firstboot --enable   #在系统第一次启动时启用“代理设置”
# System services
services --enabled="chronyd"
# Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'  #键盘布局为中文
# System language
lang zh_CN.UTF-8     #系统语言是中文,utf8的编码格式
# Root password   root密码
rootpw --iscrypted $6$XypESMTZrNXE.HpGTXrUqCcLIvz.It8HHSQAe292kymkwGdh.hum6
# System timezone
timezone Asia/Shanghai --isUtc   #设定时区为上海
# System bootloader configuration
bootloader --location=none  #不设定引导记录的位置
autopart --type=lvm         #自动分区,
# Partition clearing information 在建立新分区前清空系统上原有的分区表,默认不删除分区,--none不移除任何分区,--initlabel初始化磁盘卷标为系统架构的默认卷标
clearpart --none --initlabel


#软件包段
%packages
@^kylin-desktop-environment #带UKUI GUI的软件包组进行服务器安装
# @^minimal-environment  最小化安装软件包组
kexec-tools
%end


#脚本段
%post --nochroot #%post包含的脚本默认是在chroot环境运行,--nochroot允许在chroot环境之外运行命令
#####copy kyinfo and LICENSE
if [ -e /tmp/.kyinfo ];then
  echo y | cp -a /tmp/.kyinfo $ANA_INSTALL_PATH/etc/
fi
if [ -e /tmp/LICENSE ];then
  echo y | cp -a /tmp/LICENSE $ANA_INSTALL_PATH/etc/
fi
if [ -e /run/install/repo/.kyinfo ];then
  echo y | cp -a /run/install/repo/.kyinfo $ANA_INSTALL_PATH/etc/
fi
if [ -e /run/install/repo/LICENSE ];then
  echo y | cp -a /run/install/repo/LICENSE $ANA_INSTALL_PATH/etc/
fi

##### kylin postaction
## cdrom install, copy .kylin-post-actions
if [ -e /run/install/repo/.kylin-post-actions ];then
  echo y | cp -a /run/install/repo/.kylin-post-actions /tmp/.kylin-post-actions
  echo "repo=/run/install/repo" > /tmp/.kylin-repo
fi
## copy kylin post scripts in new os
if [ -e /tmp/.kylin-post-actions ];then
  echo y | cp -a /tmp/.kylin-post-actions $ANA_INSTALL_PATH/bin
fi
if [ -e /tmp/.kylin-repo ];then
  echo y | cp -a /tmp/.kylin-repo $ANA_INSTALL_PATH/tmp/
fi

## copy and run .kylin-post-actions-nochroot
if [ -e /run/install/repo/.kylin-post-actions-nochroot ];then
  echo y | cp -a /run/install/repo/.kylin-post-actions-nochroot /tmp/.kylin-post-actions-nochroot
fi
if [ -e /tmp/.kylin-post-actions-nochroot ];then
  /bin/bash -x /tmp/.kylin-post-actions-nochroot &> $ANA_INSTALL_PATH/var/log/.kylin-post-actions-nochroot.log
fi

%end

%post

systemctl disable systemd-networkd-wait-online.service
systemctl disable multipathd.service

### do kylin post action
if [ -e /bin/.kylin-post-actions ];then
  /bin/bash -x /bin/.kylin-post-actions &> /var/log/.kylin-post-actions.log
fi

%end

%addon ADDON_placeholder --enable --reserve-mb=1024M
%end

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

三、重新制作iso镜像

        1、准备好银河麒麟高级服务器操作系统V10-SP1,将其挂载在/mnt目录下,创建iso目录,将/mnt下内容全部复制到/iso下。并将制作好的ks文件拷贝至该目录下

        2、修改启动文件/iso/isolinux/isolinux.cfg,指明ks文件位置

        3、使用命令mkisofs重新将/iso目录下所有文件打包为iso镜像,本次以X86架构为例:

mkisofs -o /kylin10.iso -V kylin-V10 -b isolinux/isolinux.bin  -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -T -v /iso/
# /iso/ 为文件所在目录 ,-V 后面面加的内容为ISO挂载上去显示的名称,-o 后面的/kylin10.iso为新生成的iso镜像所在目录及名称

四、将打包好的iso镜像用U盘制作启动盘或刻录至光盘,选择从U盘或光盘启动,即可实现自动化的安装了(注:银河麒麟高级服务器操作系统V10SP2需要单独指定安装源)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

银河麒麟服务器操作系统V10SP1基于Kickstart无人值守安装 的相关文章

  • gitlab-runner升级

    gitlab runner版本升级 添加GitLab官方仓库 For Debian Ubuntu Mint curl L https packages gitlab com install repositories runner gitla
  • docker可视化工具Shipyard

    Docker Shipyard Shipyard简介 shipyard是一个开源的docker管理平台 xff0c 其特性主要包括 xff1a 支持节点动态集群 xff0c 可扩展节点的规模 xff08 swarm etcd方案 xff09
  • jira8安装

    Jira8 3 3安装 下载jira安装包 xff0c 破解包和jdk包 链接 xff1a https pan baidu com s 1yHsXkW1ZpkcNQeBkvE Hog 提取码 xff1a zzzz 安装数据库 网上很多就不在
  • goteleport10.0本地安装使用

    goteleport10 0本地安装使用 环境说明 master xff1a 192 168 8 132 node1 xff1a 192 168 8 131 node2 xff1a 192 168 8 133 master本地生成域名证书
  • [csp2019]Emiya家今天的饭

    作为提高组 d 2 t 1 d2t1 d 2 t 1 xff0c 比去年难 所以这道题我打的特别的差 32pts 这道题我们很显然可以看到可以打一个暴力 复杂度
  • React 函数组件导出自定义方法的办法说明

    在进行React开发时 xff0c 函数组件是比较方便的 xff0c 由于函数组件没有this指针 xff0c 因此如果想在父组件里调用函数型子组件的方法 xff0c 就需要用到React useImperativeHandle 这个帮助函
  • centos7防火墙关闭telnet端口不通

    root 64 zabbix agen2 systemctl status firewalld firewalld service firewalld dynamic firewall daemon Loaded loaded usr li
  • centos7安装配置夜莺V5+睿象云实现电话短信告警

    服务器清单 hostnameipmaster192 168 8 128zabbix agen1192 168 8 134 master安装夜莺依赖 install prometheus mkdir p opt prometheus wget
  • (踩坑指南)cd .ssh返回-bash: cd: .ssh:No such file or directory怎么办

    1 cd ssh返回 bash cd ssh No such file or directory怎么办 出现如下界面 有时候没必要在细节上过于拘泥 xff0c 不如直接配置秘钥 xff0c 反而一切都妥妥的了 2 如何保存退出 xff1f
  • Python数据处理工具—去除TXT文件里面相同的数据

    前言 本次分享的是一个对TXT数据进行处理的一个小工具 xff0c 功能如题 xff0c 是把TXT里面相同的数据给清洗掉是剩下唯一的一个 一 数据 随便在文件里面写了一点数据 xff0c 可以看到里面有很多重复的数据 xff0c 那么里面
  • Python进行ffmpeg推流和拉流rtsp、rtmp

    流媒体协议 xff0c 英文学名Streaming Protocol xff0c 用一句人话来解释 xff1a 流媒体协议是一种用于通过 Web 传递多媒体的协议 传统视频流协议 xff1a RTMP和RTSP xff0c 其中 RTMP
  • ROS Python 入门学习笔记--1--工作空间与功能包的创建

    上一节我们已经成功安装了ROS xff0c 并且还进行了小海龟实验的一个初步探索 xff0c 这一节主要给大家介绍一下ROS工作空间与功能包的创建 先来聊一下ROS的文件结构 xff1a 图片来源 xff1a 中国大学MOOC 在ROS当中
  • python运算符&用法的详细介绍

    目录 1 算数运算 2 比较运算符 3 成员运算符 4 逻辑运算 5 赋值运算 附 xff1a 类型转换 1 算数运算 运算符 xff1a 43 加 减 乘 除 整除 余数 幂运算 多用于整数 浮点数进行计算 43 也可用于字符串 xff0
  • 第三篇 树莓派的串口通信和语音识别模块

    目录 一 串口 xff08 UART xff09 二 wiringPi提供的串口API 三 语音识别模块 1 阅读模块代码 代码阅读工具 xff1a Souces Insight4 0安装 激活 汉化等 语音识别 xff08 口令模式 xf
  • 安装配置 JupyterLab ubuntu20.04

    目录 编辑 xff08 1 xff09 安装 xff08 2 xff09 配置 xff08 1 xff09 生成配置文件 xff08 2 xff09 生成jupyterlab的登录密码 xff08 3 xff09 修改 jupyter 的配

随机推荐