赞
踩
原文链接:麒麟服务器操作系统自动化安装应答文件制作
Hello,大家好啊!今天我们将探讨如何为麒麟服务器操作系统制作自动化安装应答文件。在部署大量服务器时,自动化安装是提高效率和确保安装一致性的关键技术。通过使用应答文件,系统管理员可以预先定义安装过程中的所有选择和配置,从而实现无人值守的安装。这对于规模化部署和管理非常有用。下面,我们将详细介绍如何创建这样的应答文件。
应答文件(通常为XML或文本格式)包含了操作系统安装过程中所需的所有配置信息,如分区信息、用户设置、网络配置等。在麒麟服务器操作系统安装过程中,安装程序会读取这个文件,按照其中的指示进行安装,而不需要用户交互。
在创建应答文件之前,你需要确定安装过程中需要自动化设置的各项参数,包括但不限于:
麒麟服务器操作系统通常提供了默认的应答文件模板。你可以从安装介质中找到这个模板,或者从系统的帮助文档中获取。下载或复制这个模板作为开始。
安全是自动化安装中的一个重要考虑因素。确保使用加密的密码在应答文件中。你可以使用如openssl等工具来生成加密的密码。
echo "your-password" | openssl passwd -1 -stdin
将编辑好的应答文件放在一个网络位置或者安装介质上,根据麒麟操作系统的安装指南进行配置,以便在安装过程中使用这个应答文件。
在正式部署之前,使用一个测试机器来验证应答文件的准确性和安装流程的正确性。确保所有预期的配置都被正确应用。
1.查看系统信息
[root@pdsyw ~]# cat /etc/os-release
[root@pdsyw ~]# uname -a
2.查看模板文件
[root@pdsyw ~]# ll
initial-setup-ks.cfg和anaconda-ks.cfg这两个文件都与Kickstart安装有关,但它们用途不同:
简而言之,initial-setup-ks.cfg更侧重于系统安装后的初次设置,而anaconda-ks.cfg则提供了一种方法来重现一个完全一样的系统安装。在进行系统克隆或大规模部署时,anaconda-ks.cfg特别有用。
3.编辑模板文件
[root@pdsyw ~]# cp anaconda-ks.cfg kylinsp3.cfg
[root@pdsyw ~]#
[root@pdsyw ~]# vim kylinsp3.cfg
4.编辑后的文件
[root@pdsyw ~]# cat kylinsp3.cfg #version=DEVEL # Use graphical install zerombr xconfig --startxonboot graphical url --url=http://192.168.80.111/kylin/sp3/os/x86_64/ %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_PAT H/etc/ fi if [ -e /run/install/repo/LICENSE ];then echo y | cp -a /run/install/repo/LICENSE $ANA_INSTALL_PAT H/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 ];th en echo y | cp -a /run/install/repo/.kylin-post-actions-noch root /tmp/.kylin-post-actions-nochroot fi if [ -e /tmp/.kylin-post-actions-nochroot ];then /bin/bash -x /tmp/.kylin-post-actions-nochroot &> $ANA_IN STALL_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 %packages @^kylin-desktop-environment %end # Keyboard layouts keyboard --xlayouts='cn' # System language lang zh_CN.UTF-8 --addsupport=en_US.UTF-8 # Network information network --bootproto=static --device=ens160 --gateway=192.1 68.80.254 --ip=192.168.80.112 --nameserver=223.5.5.5 --netm ask=255.255.255.0 --ipv6=auto --activate network --hostname=pdsyw # Run the Setup Agent on first boot firstboot --disable # System services services --enabled="chronyd" ignoredisk --only-use=nvme0n1 # Partition clearing information clearpart --all --initlabel # Disk partitioning information part /boot --fstype="xfs" --ondisk=nvme0n1 --size=1536 part pv.450 --fstype="lvmpv" --ondisk=nvme0n1 --size=100862 volgroup klas --pesize=4096 pv.450 logvol / --fstype="ext4" --size=43511 --name=root --vgname= klas logvol /home --fstype="ext4" --size=40960 --name=home --vgn ame=klas logvol swap --fstype="swap" --size=16384 --name=swap --vgna me=klas # System timezone timezone Asia/Shanghai --utc # Root password rootpw --iscrypted $6$PAl5KzyHjDvqz0Cl$L0qBHHGHg5sqKFFV46Lh udHq5Ls7UzcsVYgyKIeY3PIfZjzXfqrlFESATPfRXbvwZLUjf5ASepm8yDl 5kISA8/ user --groups=wheel --name=pdsyw --password=$6$DP0g8xEaXyIu DX9d$RKb.Rf2IpDyEPol6YekqJG7xw3k6/fYUZfSSjk1kDtzVA9zm8nP31p SFdctmLFQSksUGqlAa4/mugBsDv9irR/ --iscrypted --gecos="pdsyw " reboot eula --agreed #skipx %addon com_redhat_kdump --enable --reserve-mb='1024M' %end %anaconda pwpolicy root --minlen=8 --minquality=1 --strict --nochange s --notempty pwpolicy user --minlen=8 --minquality=1 --strict --nochange s --emptyok pwpolicy luks --minlen=8 --minquality=1 --strict --nochange s --notempty %end [root@pdsyw ~]#
1.注释和版本信息
#version=DEVEL
# Use graphical install
这些行是注释(由 # 标识),用来向阅读文件的人提供信息。第一行可能表明这是一个开发版本的配置,第二行建议使用图形化安装界面。
2.基础安装设置
zerombr
xconfig --startxonboot
graphical
url --url=http://192.168.80.111/kylin/sp3/os/x86_64/
zerombr:清除磁盘的主引导记录(MBR)。
xconfig --startxonboot:设置系统启动时自动启动X Windows系统。
graphical:使用图形化安装方法。
url:指定安装媒体的位置URL。
3.安装后脚本(第一个 %post --nochroot 块)
包含处理特定文件(如 kyinfo、LICENSE、.kylin-post-actions 等)的各种命令:
if [ -e /tmp/.kyinfo ];then... 等类似块检查某些文件是否存在,然后将它们复制到新安装中的指定位置。
echo y | cp -a:此命令复制文件,并自动以 'yes' 回答提示。
4.安装后服务管理(第二个 %post 块)
systemctl disable systemd-networkd-wait-online.service
systemctl disable multipathd.service
这些行禁用特定的服务,这些服务在安装后立即不需要,以加快启动速度。
5.包安装
%packages
@^kylin-desktop-environment
表示安装Kylin桌面环境及相关包。
6.键盘和语言设置
keyboard --xlayouts='cn'
lang zh_CN.UTF-8 --addsupport=en_US.UTF-8
设置键盘布局为中文,并将系统语言设置为简体中文,同时支持美国英语。
7.网络配置
network --bootproto=static --device=ens160...
network --hostname=pdsyw
定义静态IP设置和系统主机名
8.首次启动设置
firstboot --disable
禁用首次启动时通常运行的初始化设置代理。
9.系统服务
services --enabled="chronyd"
启用chronyd服务,该服务用于网络时间同步。
10.磁盘分区
ignoredisk --only-use=nvme0n1
clearpart --all --initlabel
part /boot...
指定使用的磁盘,清除现有分区,并为系统不同用途(/boot、卷组、/、/home 和 swap 的逻辑卷)创建新分区。
11.系统时区和根密码
timezone Asia/Shanghai --utc
rootpw --iscrypted $6$PAl5KzyHjDvqz0Cl...
设置系统时区为上海并配置加密的根用户密码。
12.用户账户
user --groups=wheel --name=pdsyw...
添加一个新用户,并设置加密密码,包括用户在wheel组中,该组通常具有管理权限。
13.重启和许可协议
reboot
eula --agreed
安装完成后指令系统重启,并表明已同意最终用户许可协议(EULA)。
14.崩溃处理
%addon com_redhat_kdump --enable --reserve-mb='1024M'
启用kdump服务,该服务帮助捕捉崩溃转储。
15.密码策略
%anaconda
pwpolicy root...
pwpolicy user...
pwpolicy luks...
在安装过程中定义root用户、普通用户和LUKS加密的密码策略。
应答文件的制作虽然需要仔细规划和测试,但它为大规模部署节省了大量时间,降低了出错率,是系统管理员不可或缺的工具。希望这篇文章能帮助你理解并开始使用麒麟服务器操作系统的自动化安装功能。如果你觉得这篇文章有用,请分享和转发。同时,别忘了点个关注和在看,以便未来获取更多有用的技术信息和解决方案。非常感谢大家的阅读,我们下次再见!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。