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

       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需要单独指定安装源)。

### 关于银河麒麟服务器操作系统V10SP1 Kickstart安装教程 #### 一、准备阶段 为了实现银河麒麟服务器操作系统V10SP1无人值守安装,需先准备好Kickstart文件。可以通过图形化工具`system-config-kickstart`来生成此文件[^1]。 如果环境中尚未安装该工具,则可通过如下命令在线获取并安装: ```bash yum -y install system-config-kickstart ``` #### 二、创建KS配置文件 利用`system-config-kickstart`或其他方式编辑所需的KS脚本,定义好分区方案、软件包选择以及网络设置等内容。确保所有必要的参数都已正确填写,以便能够顺利完成整个安装过程。 #### 三、搭建HTTP服务器分享YUM源 为了让目标机器可以从远程位置拉取镜像资源,在启动前还需建立一个可用的HTTP服务用于托管本地或自定义的YUM仓库。这一步骤涉及到了解如何通过以下指令下载Apache HTTP Server: ```bash yum install httpd ``` 并且建议在完成安装之后立即启用它作为开机自启的服务之一,从而保障后续操作系统的顺利部署[^2]。 #### 四、实施无人值守安装 当上述准备工作完成后,便可以着手安排实际的安装工作了。通常情况下会借助PXE引导技术配合TFTP/HTTP协议共同作用下达成目的;当然也可以直接将ISO映像挂载至虚拟光驱内供物理机读取使用。 在整个过程中最为重要的就是保证客户端能成功访问到之前所构建好的KS文件路径及其关联的数据源链接地址。 #### 五、验证与优化 最后不要忘记对新装完毕后的实例进行全面测试,确认各项功能均正常运作后再考虑将其投入正式环境当中去运行。对于任何可能出现的问题都要及时记录下来加以分析解决,不断积累经验教训以提高未来类似项目的成功率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值