插件窝 干货文章 如何在麒麟操作系统上进行自动化安装和配置?

如何在麒麟操作系统上进行自动化安装和配置?

麒麟 配置 安装 脚本 186    来源:    2025-04-13

在麒麟操作系统(Kylin OS)上进行自动化安装和配置可以通过以下步骤实现,结合脚本工具和系统原生功能完成高效部署:


一、自动化安装方案

1. 使用无人值守安装(Kickstart/Preseed)

麒麟OS基于Ubuntu或CentOS衍生,可分别选择对应方案: - Ubuntu版麒麟:使用preseed文件 - CentOS版麒麟:使用kickstart文件

步骤: 1. 生成应答文件: - Ubuntu版:参考Ubuntu官方preseed模板(/usr/share/doc/debian-installer/examples/preseed.txt) - CentOS版:通过system-config-kickstart工具生成或手动编写.ks文件

  1. 修改ISO或网络启动
    • 将应答文件注入ISO镜像或放入网络服务器(如HTTP/FTP)。
    • 示例(Ubuntu版启动参数): bash linux /install/vmlinuz auto=true url=http://your-server/preseed.cfg quiet

2. 使用PXE网络安装

适用于大规模部署: 1. 配置DHCP+TFTP服务器(如dnsmasqisc-dhcp-server+tftpd-hpa)。 2. 将麒麟OS镜像和应答文件放入PXE服务器目录。 3. 客户端从PXE启动自动加载安装配置。


二、自动化配置方案

1. 首次启动后自动执行脚本

在应答文件中指定%post(Kickstart)或late_command(Preseed)运行配置脚本:

%post --interpreter=/bin/bash
#!/bin/bash
# 设置时区
timedatectl set-timezone Asia/Shanghai
# 安装常用软件
apt-get update && apt-get install -y vim git net-tools
%end

2. 使用配置管理工具

  • Ansible(推荐):

    # playbook示例
    - hosts: all
    tasks:
      - name: Install packages
        apt: 
          name: ["docker-ce", "nginx"]
          state: present
      - name: Configure sysctl
        copy:
          src: /path/to/sysctl.conf
          dest: /etc/sysctl.conf
    

    执行命令:ansible-playbook -i inventory.ini deploy.yml

  • SaltStack/Puppet:适合复杂环境,需安装Agent。

3. 自定义Systemd服务

将配置脚本封装为服务:

# /etc/systemd/system/auto-config.service
[Unit]
Description=Post-Install Configuration
After=network.target

[Service]
Type=oneshot
ExecStart=/path/to/your-script.sh

[Install]
WantedBy=multi-user.target

启用服务:systemctl enable auto-config


三、实用工具推荐

  1. Cobbler:自动化PXE安装管理工具,支持Kickstart集成。
  2. Cloud-Init:适用于云环境初始化(麒麟云版默认支持)。
  3. Debconf-set-selections(Ubuntu版):预配置软件包选项。

四、注意事项

  1. 硬件兼容性:麒麟OS对国产硬件(如鲲鹏、飞腾)有优化,需确认驱动是否包含在镜像中。
  2. 安全加固:自动化脚本中建议加入基线安全配置(如关闭无用端口、配置防火墙)。
  3. 日志记录:在%post或脚本中添加日志输出,便于排查问题: bash exec > /root/install.log 2>&1

五、示例脚本片段

#!/bin/bash
# 自动化配置网络
nmcli con add type ethernet ifname eth0 con-name eth0
nmcli con mod eth0 ipv4.addresses 192.168.1.100/24
nmcli con mod eth0 ipv4.gateway 192.168.1.1
nmcli con up eth0

# 部署国产中间件(如东方通)
wget http://mirror.example.com/tong.tar.gz
tar -xzf tong.tar.gz -C /opt
/opt/tong/bin/install.sh --silent

通过上述方法,可实现麒麟操作系统从安装到配置的全流程自动化,显著提升部署效率。