银河麒麟高级服务器操作系统V10SP1 - ISO镜像定制 + KickStart自动化安装

一、基础环境搭建

1. 原始ISO获取

OS版本:银河麒麟高级服务器操作系统V10SP1(X86_64)
百度网盘:https://pan.baidu.com/s/1xAdxWht0wMB-ebQVbjehbQ 提取码:cns2

2. 系统安装

这里我们选择银河麒麟服务器系统常用的“带UKUI GUI的服务器”以及“自动分区”方案。

在这里插入图片描述

二、ISO镜像定制

1. 准备工作

(1)创建“ISO镜像制作目录”;
[root@localhost ~]# mkdir /root/kylin-iso
(2)将原始ISO镜像挂载到系统(插入光盘后系统会自动挂载);

在这里插入图片描述


(3)将ISO挂载目录下的所有文件拷贝到“ISO镜像制作目录”;
[root@localhost ~]# rsync -a /run/media/root/Kylin-Server-10/ /root/kylin-iso/

在这里插入图片描述


(4)获取当前系统中安装的所有rpm包列表;
[root@localhost ~]# rpm -qa > /root/package-list.txt

在这里插入图片描述

2. 修改ISO镜像

(1)为使后面我们生成的ISO文件尽可能的小,我们只保留系统安装所需要的RPM包以及其它需要定制的RPM包;
A. 首先,删除ISO制作目录/root/kylin-iso/Packages/下所有的RPM包;
[root@localhost ~]# cd /root/kylin-iso/Packages/
[root@localhost Packages]# rm -rf *.rpm

在这里插入图片描述


B. 接着,从ISO挂载目录/run/media/root/Kylin-Server-10/Packages/拷贝系统安装所需的RPM包拷贝到“ISO镜像制作目录”/root/kylin-iso/Packages/中;
[root@localhost Packages]# cat /root/package-list.txt | awk ‘{print $0}’ |xargs -i cp /run/media/root/Kylin-Server-10/Packages/{}.rpm /root/kylin-iso/Packages/

在这里插入图片描述


C. 修改系统/etc/yum.conf配置文件,开启安装软件保留缓存设置;
[root@localhost ~]# vim /etc/yum.conf
修改前:

在这里插入图片描述


修改后:

在这里插入图片描述


D. 使用yum将系统自带的OpenSSH等软件更新到最新版本;
[root@localhost ~]# yum install openssh audit mate-indicators

在这里插入图片描述


E. 将yum缓存目录/var/cache/yum/下的RPM缓存包拷贝到“ISO镜像制作目录”的Packages文件夹中;
[root@localhost ~]# cd /var/cache/yum/ks10-adv-updates-b74b513216569387/packages/
[root@localhost packages]# cp -a *.rpm /root/kylin-iso/Packages/

在这里插入图片描述


F. 更新“ISO镜像制作目录”的repodata文件夹下的xxx-comps.xml文件;
[root@localhost ~]# cd /root/kylin-iso/
[root@localhost kylin-iso]# createrepo -g repodata/8cdeadbf13f3898044bd53454eab119481c7fcb672eae31327419bcf1516d54d-Kylin-x86_64-V10-ukui-comps.xml .

在这里插入图片描述


(2)配置KickStart自动化安装;
A. 系统安装完成后,默认会在/root/目录下生成anaconda-ks.cfg文件,该文件记录了系统安装过程中的配置。我们将其复制到“ISO镜像制作目录”的isolinux文件夹中,并改名为ks.cfg;
[root@localhost ~]# cp /root/anaconda-ks.cfg /root/kylin-iso/isolinux/ks.cfg

在这里插入图片描述


B. 编辑ks.cfg自动化安装脚本文件,修改以下几个配置:
①修改SSH端口号为6022,并设置“允许root账户使用SSH远程登录”

在这里插入图片描述

②系统安装前自动清除原有的分区信息

在这里插入图片描述

③系统安装完成后自动重启

在这里插入图片描述


④安装升级openssh,audit和mate-indicators

在这里插入图片描述

#version=DEVEL
ignoredisk --only-use=sda
autopart --type=lvm
# Partition clearing information
clearpart --all --initlabel --drives=sda
# Use graphical install
graphical
# Use CDROM installation media
cdrom
# Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
# System language
lang zh_CN.UTF-8

# Network information
network  --bootproto=dhcp --device=ens33 --ipv6=auto --activate
network  --bootproto=dhcp --device=ens37 --onboot=off --ipv6=auto
network  --hostname=localhost.localdomain
# Root password
rootpw --iscrypted $6$qZquFjZf5nbW3GyN$G/x3FR11KkE0eSPeYFOmYx8mhYcvkssy1vKOPF4rVLB7Estu5L/Fi62SIgtxW0VHeksm5WzcJI2Q30OX3Hr1a0
# X Window System configuration information
xconfig  --startxonboot
# Run the Setup Agent on first boot
firstboot --enable
# System services
services --enabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc

%post --nochroot
#####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
/bin/sed -i '13a Port 6022' /etc/ssh/sshd_config; \\
/bin/sed -i '/PermitRootLogin /d' /etc/ssh/sshd_config; \\
/bin/sed -i '32a PermitRootLogin yes' /etc/ssh/sshd_config; \\

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

%packages
@^kylin-desktop-environment
kexec-tools
openssh
audit
mate-indicators

%end

%addon com_redhat_kdump --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

reboot

(3)修改启动文件isolinux.cfg;
[root@localhost ~]# vim /root/kylin-iso/isolinux/isolinux.cfg
注意:这里“LABEL=“后面的参数值”Kylin-Server-10“要和后续制作的U盘启动盘卷标名称或者刻录的光盘名称一致。
修改前:

在这里插入图片描述


修改后:

在这里插入图片描述

3. 生成ISO镜像;

[root@localhost ~]# cd /root/kylin-iso/
[root@localhost kylin-iso]# mkisofs -o kylin10.iso -input-charset utf-8 -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T -joliet-long -V Kylin-Server-10 /root/kylin-iso/

在这里插入图片描述


在这里插入图片描述


[root@localhost kylin-iso]# ls -lh kylin10.iso

在这里插入图片描述

三、ISO镜像验证

注:验证环境为VMware虚拟机环境。
(1)修改“CD/DVD(IDE)”为“使用ISO映像文件”,如下图:

在这里插入图片描述


(2)直接从“CD/DVD(IDE)”启动虚拟机,系统会自动开始安装,如下图:

在这里插入图片描述


(3)系统安装完成;

在这里插入图片描述


(4)进系统验证上述步骤中的定制选项配置是否生效。
A. SSH端口正常;

在这里插入图片描述


B. OpenSSH软件包版本正常;

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340