麒麟服务器操作系统自动化安装应答文件制作

原文链接:麒麟服务器操作系统自动化安装应答文件制作
Hello,大家好啊!今天我们将探讨如何为麒麟服务器操作系统制作自动化安装应答文件。在部署大量服务器时,自动化安装是提高效率和确保安装一致性的关键技术。通过使用应答文件,系统管理员可以预先定义安装过程中的所有选择和配置,从而实现无人值守的安装。这对于规模化部署和管理非常有用。下面,我们将详细介绍如何创建这样的应答文件。

什么是应答文件?

应答文件(通常为XML或文本格式)包含了操作系统安装过程中所需的所有配置信息,如分区信息、用户设置、网络配置等。在麒麟服务器操作系统安装过程中,安装程序会读取这个文件,按照其中的指示进行安装,而不需要用户交互。

制作应答文件的步骤

1. 确定需求

在创建应答文件之前,你需要确定安装过程中需要自动化设置的各项参数,包括但不限于:

  • 系统语言和时区
  • 磁盘分区方案
  • 网络配置
  • 用户和密码
  • 安装的软件包
2. 创建应答文件模板

麒麟服务器操作系统通常提供了默认的应答文件模板。你可以从安装介质中找到这个模板,或者从系统的帮助文档中获取。下载或复制这个模板作为开始。

3.加密密码

安全是自动化安装中的一个重要考虑因素。确保使用加密的密码在应答文件中。你可以使用如openssl等工具来生成加密的密码。

echo "your-password" | openssl passwd -1 -stdin
4.使用应答文件进行安装

将编辑好的应答文件放在一个网络位置或者安装介质上,根据麒麟操作系统的安装指南进行配置,以便在安装过程中使用这个应答文件。

5.测试安装

在正式部署之前,使用一个测试机器来验证应答文件的准确性和安装流程的正确性。确保所有预期的配置都被正确应用。

1.查看系统信息

[root@pdsyw ~]# cat /etc/os-release
[root@pdsyw ~]# uname -a

2.查看模板文件

[root@pdsyw ~]# ll


initial-setup-ks.cfganaconda-ks.cfg这两个文件都与Kickstart安装有关,但它们用途不同:

  1. initial-setup-ks.cfg
    • 这个文件通常在安装系统时创建,用于记录系统安装向导(Initial Setup)过程中用户做出的选择。
    • 它的目的是为了在系统首次启动后完成一些初次设置,比如网络配置、用户账户的创建等。
  2. anaconda-ks.cfg
    • anaconda-ks.cfg文件则是由Anaconda安装程序在系统安装完成后生成的。这个文件包含了安装过程中所有的配置选项,可以用来复制安装或进行自动化安装。
    • 它详细记录了安装过程中用户的所有选择,包括分区信息、所安装的软件包、网络设置等。
    • 如果你想要进行一个完全相同配置的系统安装,可以直接使用这个文件进行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 installzerombr
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 ];thenecho y | cp -a /tmp/.kyinfo $ANA_INSTALL_PATH/etc/
fi
if [ -e /tmp/LICENSE ];thenecho y | cp -a /tmp/LICENSE $ANA_INSTALL_PATH/etc/
fiif [ -e /run/install/repo/.kyinfo ];thenecho y | cp -a /run/install/repo/.kyinfo $ANA_INSTALL_PAT                                                                                                 H/etc/
fiif [ -e /run/install/repo/LICENSE ];thenecho 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 ];thenecho y | cp -a /run/install/repo/.kylin-post-actions /tmp                                                                                                 /.kylin-post-actionsecho "repo=/run/install/repo" > /tmp/.kylin-repo
fi
## copy kylin post scripts in new os
if [ -e /tmp/.kylin-post-actions ];thenecho y | cp -a /tmp/.kylin-post-actions $ANA_INSTALL_PATH                                                                                                 /bin
fi
if [ -e /tmp/.kylin-repo ];thenecho 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                                                                                                 enecho 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加密的密码策略。

应答文件的制作虽然需要仔细规划和测试,但它为大规模部署节省了大量时间,降低了出错率,是系统管理员不可或缺的工具。希望这篇文章能帮助你理解并开始使用麒麟服务器操作系统的自动化安装功能。如果你觉得这篇文章有用,请分享和转发。同时,别忘了点个关注和在看,以便未来获取更多有用的技术信息和解决方案。非常感谢大家的阅读,我们下次再见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/630970.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络流的C++代码实现与过程讲解

网络流是一种非常重要的图论算法,它在许多实际问题中得到广泛应用。本文将介绍网络流算法的C++代码实现与过程讲解。 算法概述 网络流算法是通过将图中的边看作流量通道,将图的点看作流量的起点或终点,来求解图中的最大或最小流量的问题。它是一种非常重要的最优化算法,广…

一个 .net 8 + Azure 登录 + Ant Design Blazor 的基本后台框架

一个 .net 8 Azure 登录 Ant Design Blazor 的基本后台框架 主界面使用了 Ant Design Blazor 项目模板搭建 后台技术是 .net 8 Blazor run at server 模式 登录方式使用 Azure 实现了菜单导航和路由 此外实现了读取和修改本地Json文件的功能,不是必须的&#x…

⑥【Shiro】使多个自定义Realm规则生效。

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ ⑥【Shiro】Shiro中,如何使多个自定…

JS中的变量和数据类型及用户输入详解

源码 variate.html<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </he…

从D盘调整空间增加到C盘而不丢失数据的3 种方法

越来越多的Windows 10笔记本电脑和台式机使用SSD作为系统盘&#xff0c;这对于提高计算机性能很有用&#xff0c;因为SSD的读写速度要快得多。但另一方面&#xff0c;SSD价格更高&#xff0c;因此比传统机械硬盘体积更小。当然C盘空间不足的可能性更大。在这种情况下&#xff0…

FFmpeg合并音视频文件操作备忘(mac版)

利用NDM嗅探插件从B站下载下来的文件是音视频分开的&#xff0c;用剪辑软件合并时发现导出时文件都特别大&#xff0c;于是使用FFmpeg处理 环境&#xff1a; MBP M1芯片版 系统 macOS Sonama 14.4.1 操作步骤&#xff1a; 一、官方下载链接&#xff1a;https://evermeet.cx/…

【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口

读者可订阅专栏&#xff1a;Java开发指南 |【CSDN秋说】 文章目录 访问实例变量和方法继承接口 访问实例变量和方法 通过已创建的对象来访问成员变量和成员方法&#xff0c;如下所示&#xff1a; /* 实例化对象 */ Object referenceVariable new Constructor(); /* 访问类中…

【工位ubuntu的配置】补充

软件 安装桌面图标的问题 登录密码 root的密码为&#xff1a;19980719 按照如下的链接进行配置&#xff1a; https://blog.csdn.net/zhangmingfie/article/details/131102331?spm1001.2101.3001.6650.3&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7E…

【Qt】Qt安装包、源码、子模块(submodules)下载

1、Qt 4.0 ~ Qt5.14 Qt 4.0 ~ Qt5.14 离线安装包、源码和子模块(submodules)源码下载路径: https://download.qt.io/new_archive/qt/以Qt5.7.1为例,注意子模块都是源码,需要独立编译 2、Qt5.15 ~ Qt6.7 Qt5.15 ~ Qt6.7源码和子模块(submodules)源码下载路径: htt…

在Windows安装R语言

直接安装R语言软件 下载网址&#xff1a;R: The R Project for Statistical Computing 下载点击install R for the first time 通过Anaconda下载RStudio 提前下载好Anaconda 点击Anaconda Navigate 点击RStudio的Install下载就好了

HQL,SQL刷题,尚硅谷(中级)

目录 相关表结构&#xff1a; 1、order_info表 2、order_detail表 题目及思路解析&#xff1a; 第一题&#xff0c;查询各品类销售商品的种类数及销量最高的商品 第二题 查询用户的累计消费金额及VIP等级 第三题 查询首次下单后第二天连续下单的用户比率 总结归纳&#xff1a…

Ubuntu 传输文件

scp [选项] 源文件 目标路径 以下是一些常用的 scp 命令选项&#xff1a; -r&#xff1a;递归复制目录和子目录。 -P&#xff1a;指定远程 SSH 服务器的端口号。 -i&#xff1a;指定用于身份验证的私钥文件。 -p&#xff1a;保留源文件的时间戳、权限和所有者。 -v&#x…