news 2026/4/16 11:57:09

麒麟操作系统(Kylin OS V10)企业级实战指南:从系统管理到MES迁移全流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
麒麟操作系统(Kylin OS V10)企业级实战指南:从系统管理到MES迁移全流程

前言:国产化操作系统核心价值与文档定位

麒麟操作系统(Kylin OS V10)作为国产操作系统标杆,广泛应用于政务、金融、工业制造等关键领域。本文聚焦企业级部署需求,从基础系统操作到高阶自动化脚本,再到工业场景 MES 迁移部署,提供 “步骤化 + 可复用 + 避坑指南” 的全流程技术方案,适用于运维工程师、开发人员及国产化项目实施团队。

第一部分:麒麟 OS 基础操作(夯实底层能力)

一、麒麟 OS 安装全流程(x86/ARM 双架构适配)

1. 安装前置准备

架构

硬件要求

镜像文件

x86_64

CPU≥2 核、内存≥4G、磁盘≥50G

Kylin-Server-10-SP3-x86_64.iso

ARM/aarch64

华为鲲鹏 920 / 飞腾 2000+、内存≥8G

Kylin-Server-10-SP3-aarch64.iso

  • 制作启动 U 盘:使用麒麟官方工具Kylin ISO Burnerdd命令

# dd命令制作(Linux环境)

dd if=Kylin-Server-10-SP3-x86_64.iso of=/dev/sdb bs=4M status=progress

2. 图形化安装步骤(企业级配置)
  1. 开机从 U 盘启动,选择 “Install Kylin OS V10”
  2. 语言选择:中文(默认 UTF-8 编码,适配国产化应用)
  3. 磁盘分区(推荐方案):
    • /boot:512M(ext4,引导分区)
    • /swap:内存 2 倍(最大 8G,交换分区)
    • /:剩余空间(xfs,根分区,支持大文件)
    • /data:单独分区(存储应用数据,便于管理)
  1. 网络配置:设置静态 IP(生产环境必备)
  2. root 密码:需包含大小写字母 + 数字 + 特殊字符(符合国产化安全规范)
  3. 安装完成后重启,执行hostnamectl set-hostname kylin-mes修改主机名

二、麒麟 OS 核心操作(快捷键 + 命令)

1. 高效快捷键(提升运维效率)

快捷键

功能描述

适用场景

Ctrl+Alt+F1-F6

切换字符终端(F7 返回图形界面)

图形界面崩溃时应急操作

Ctrl+Shift+T

终端多标签页

多任务并行操作

Alt+Tab

窗口切换

多应用切换

Ctrl+R

搜索历史命令

快速复用复杂命令

Tab

命令 / 路径补全(麒麟增强版支持模糊补全)

减少输入错误

Ctrl+C

终止当前进程

脚本执行异常时中断

2. 必学核心命令(按场景分类)
(1)系统状态查询

# 查看系统版本(麒麟特有)

cat /etc/kylin-release

# 查看CPU信息(区分x86/ARM)

lscpu

# 内存使用情况

free -h

# 磁盘占用

df -h

# 进程监控(麒麟自带nmon工具,更直观)

nmon # 按C看CPU,M看内存,D看磁盘

(2)文件 / 目录操作

# 递归创建目录(如MES部署目录)

mkdir -p /opt/mes/{app,data,log,backup}

# 复制文件并保留权限(关键!)

cp -a /src/* /dest/

# 查找MES相关文件

find / -name "mes*" -type f

# 统计目录大小

du -sh /opt/mes/

(3)服务管理(systemctl 核心用法)

# 启动/停止/重启服务

systemctl start nginx

systemctl stop nginx

systemctl restart nginx

# 设置开机自启(生产环境必备)

systemctl enable nginx

# 查看服务状态(含日志)

systemctl status nginx -l

# 查看监听端口(麒麟增强版ss命令)

ss -tulnp | grep 8080

三、vim 编辑器实战(国产化环境配置)

1. 基础操作(快速上手)

模式

操作命令

功能描述

普通模式

i/a/o

进入插入模式(i 行首 /a 行尾 /o 下行)

普通模式

:wq

保存并退出

普通模式

:q!

强制退出(不保存)

普通模式

dd

删除当前行

普通模式

yy/p

复制 / 粘贴当前行

普通模式

/ 关键词

向下搜索关键词

插入模式

Ctrl+u/Ctrl+d

向上 / 向下翻页

2. 企业级 vim 配置(永久生效)

编辑配置文件:vim ~/.vimrc,添加以下内容(适配国产化编码和开发习惯)

set number " 显示行号(排错必备)

set encoding=utf-8 " 适配中文编码

set tabstop=4 " Tab键缩进4格

set shiftwidth=4 " 自动缩进4格

set autoindent " 自动缩进

set hlsearch " 搜索结果高亮

set ignorecase " 搜索不区分大小写

set cursorline " 高亮当前行

syntax on " 语法高亮(支持shell/sql等)

生效:source ~/.vimrc,或重新打开 vim 即可。

第二部分:麒麟 OS 进阶管理(企业级必备)

一、用户与组管理(权限隔离核心)

1. 基础命令(创建 / 修改 / 删除)

# 创建MES项目组

groupadd mesgroup

# 创建MES专用用户(加入组,不允许登录shell)

useradd -g mesgroup -s /sbin/nologin mesuser

# 设置密码

passwd mesuser

# 修改用户所属组

usermod -aG mesgroup otheruser

# 删除用户(连同家目录)

userdel -r mesuser

# 查看用户信息

id mesuser

# 查看组内用户

groups mesgroup

2. 企业级权限控制案例(MES 部署场景)

需求:MES 应用目录/opt/mes仅允许 mesuser 用户读写,其他用户无权限

# 递归修改目录所属用户组

chown -R mesuser:mesgroup /opt/mes/

# 设置权限(用户rwx,组rwx,其他---)

chmod -R 770 /opt/mes/

# 特殊权限:仅mesuser可删除目录下文件(防止误删)

chmod -R +t /opt/mes/data/

# 验证权限

ls -ld /opt/mes/

二、磁盘管理(基础 + 高阶)

1. 基础磁盘操作(分区 / 格式化 / 挂载)

# 查看磁盘列表(麒麟特有lsblk,更直观)

lsblk

# 分区(fdisk示例,/dev/sdb)

fdisk /dev/sdb

> n(新建分区)→ p(主分区)→ 1(分区号)→ 回车(默认起始扇区)→ +100G(分区大小)→ w(保存)

# 格式化(xfs文件系统,麒麟推荐)

mkfs.xfs /dev/sdb1

# 临时挂载

mount /dev/sdb1 /opt/mes/data/

# 永久挂载(重启不失效)

echo "/dev/sdb1 /opt/mes/data xfs defaults 0 0" >> /etc/fstab

# 验证挂载

mount -a && df -h

2. 高阶磁盘管理(LVM 逻辑卷 + RAID)
(1)LVM 逻辑卷(动态扩容,企业必备)

# 创建物理卷

pvcreate /dev/sdb1 /dev/sdc1

# 创建卷组(命名为mes_vg)

vgcreate mes_vg /dev/sdb1 /dev/sdc1

# 创建逻辑卷(大小50G,命名为mes_lv)

lvcreate -L 50G -n mes_lv mes_vg

# 格式化并挂载

mkfs.xfs /dev/mes_vg/mes_lv

mount /dev/mes_vg/mes_lv /opt/mes/data/

# 扩容逻辑卷(新增20G)

lvextend -L +20G /dev/mes_vg/mes_lv

xfs_growfs /dev/mes_vg/mes_lv # xfs文件系统扩容

(2)RAID 1(双盘冗余,数据安全)

# 安装mdadm工具

dnf install -y mdadm

# 创建RAID 1(/dev/sdb1和/dev/sdc1)

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

# 格式化并挂载

mkfs.xfs /dev/md0

mount /dev/md0 /opt/mes/backup/

# 查看RAID状态

mdadm --detail /dev/md0

三、shell 脚本实战(自动化运维)

1. 基础脚本示例(日志备份脚本)

#!/bin/bash

# 脚本功能:自动备份MES日志,保留7天

# 作者:技术团队

# 日期:2024-05-20

# 定义变量

LOG_DIR="/opt/mes/log"

BACKUP_DIR="/opt/mes/backup/log"

DATE=$(date +%Y%m%d)

RETENTION=7

# 创建备份目录

[ ! -d $BACKUP_DIR ] && mkdir -p $BACKUP_DIR

# 压缩备份

tar -zcvf $BACKUP_DIR/mes_log_$DATE.tar.gz $LOG_DIR/*.log

# 删除7天前的备份

find $BACKUP_DIR -name "mes_log_*.tar.gz" -mtime +$RETENTION -delete

# 输出执行结果

if [ $? -eq 0 ]; then

echo "[$(date +%Y-%m-%d %H:%M:%S)] MES日志备份成功" >> $BACKUP_DIR/backup.log

else

echo "[$(date +%Y-%m-%d %H:%M:%S)] MES日志备份失败" >> $BACKUP_DIR/backup.log

fi

执行权限:chmod +x backup_mes_log.sh,定时任务:0 0 * * * /opt/mes/backup_mes_log.sh

2. 进阶脚本(MES 环境检查脚本)

#!/bin/bash

# 功能:检查MES部署所需的系统资源、端口、依赖库

# 检查CPU核心数

CPU_CORES=$(lscpu | grep "CPU(s):" | head -1 | awk '{print $2}')

if [ $CPU_CORES -lt 4 ]; then

echo "警告:CPU核心数不足4核,可能影响MES运行"

fi

# 检查内存

MEM_TOTAL=$(free -g | grep "Mem:" | awk '{print $2}')

if [ $MEM_TOTAL -lt 8 ]; then

echo "警告:内存不足8G,建议扩容"

fi

# 检查端口占用(8080/3306/5236)

PORTS=(8080 3306 5236)

for PORT in ${PORTS[@]}; do

if ss -tulnp | grep -q $PORT; then

echo "端口$PORT已被占用:$(ss -tulnp | grep $PORT)"

else

echo "端口$PORT可用"

fi

done

# 检查依赖库

DEPENDS=("gcc" "glibc" "libaio" "nginx" "dm8-client")

for DEP in ${DEPENDS[@]}; do

if ! dnf list installed $DEP > /dev/null 2>&1; then

echo "依赖库$DEP未安装,需执行:dnf install -y $DEP"

fi

done

第三部分:企业级部署实战(Web+MES 迁移)

一、软件安装与卸载(麒麟系统三种方式)

1. dnf 安装(推荐,官方源)

# 搜索软件

dnf search nginx

# 安装软件

dnf install -y nginx

# 卸载软件(连同依赖)

dnf remove -y nginx

# 更新系统

dnf update -y

# 清理缓存

dnf clean all

2. rpm 安装(离线场景)

# 安装本地rpm包

rpm -ivh nginx-1.20.1-9.el8.x86_64.rpm

# 强制安装(忽略依赖)

rpm -ivh --force --nodeps nginx-1.20.1-9.el8.x86_64.rpm

# 卸载rpm包

rpm -e nginx

# 查看已安装rpm包

rpm -qa | grep nginx

3. 源码编译安装(自定义配置)

以安装 Nginx 为例:

# 安装依赖

dnf install -y gcc pcre-devel zlib-devel openssl-devel

# 下载源码包

wget http://nginx.org/download/nginx-1.24.0.tar.gz

# 解压

tar -zxvf nginx-1.24.0.tar.gz && cd nginx-1.24.0

# 配置(指定安装路径和模块)

./configure --prefix=/opt/nginx --with-http_ssl_module --with-http_stub_status_module

# 编译安装

make && make install

# 启动Nginx

/opt/nginx/sbin/nginx

二、Web 部署实战(Nginx+Tomcat)

1. 环境配置

# 安装JDK(国产化推荐OpenJDK 11)

dnf install -y java-11-openjdk-devel

# 配置环境变量

echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk" >> /etc/profile

echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile

source /etc/profile

# 验证JDK

java -version

2. Tomcat 部署

# 下载Tomcat

wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz

# 解压至/opt

tar -zxvf apache-tomcat-9.0.85.tar.gz -C /opt && mv /opt/apache-tomcat-9.0.85 /opt/tomcat

# 授权给tomcat用户

chown -R tomcat:tomcat /opt/tomcat/

# 启动Tomcat

su - tomcat -c "/opt/tomcat/bin/startup.sh"

# 验证(默认端口8080)

curl http://localhost:8080

3. Nginx 反向代理配置

编辑/etc/nginx/nginx.conf,添加反向代理规则:

server {

listen 80;

server_name mes.kylin.com;

location / {

proxy_pass http://localhost:8080;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

# 静态资源缓存

location ~* \.(jpg|jpeg|png|gif|css|js)$ {

root /opt/tomcat/webapps/ROOT;

expires 30d;

}

}

重启 Nginx:systemctl restart nginx,防火墙开放 80 端口:firewall-cmd --permanent --add-port=80/tcp && firewall-cmd --reload

三、MES 迁移部署全流程(脚本 + 数据库迁移)

1. 环境部署脚本(自动化配置 MES 运行环境)

创建mes_env_deploy.sh

#!/bin/bash

# MES迁移部署环境配置脚本(麒麟OS V10)

# 适用场景:从旧服务器迁移MES至新麒麟服务器

set -e # 脚本执行出错立即退出

# 1. 创建用户和目录

groupadd mesgroup

useradd -g mesgroup -m -s /bin/bash mesuser

echo "mesuser:Mes@2024" | chpasswd # 设置密码(需按实际修改)

mkdir -p /opt/mes/{app,data,log,backup,conf}

chown -R mesuser:mesgroup /opt/mes/

chmod -R 770 /opt/mes/

# 2. 安装依赖库

dnf install -y gcc glibc libaio-devel pcre-devel zlib-devel openssl-devel java-11-openjdk-devel nginx

# 3. 配置防火墙(开放MES所需端口)

firewall-cmd --permanent --add-port=80/tcp

firewall-cmd --permanent --add-port=8080/tcp

firewall-cmd --permanent --add-port=5236/tcp # DM数据库端口

firewall-cmd --reload

# 4. 关闭SELINUX(避免权限问题)

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

setenforce 0

# 5. 配置JDK环境变量

echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk" >> /home/mesuser/.bashrc

echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /home/mesuser/.bashrc

source /home/mesuser/.bashrc

# 6. 安装DM数据库客户端(如需连接DM数据库)

rpm -ivh /opt/mes/backup/dm8_client_202405.rpm # 需提前上传客户端包

echo "export DM_HOME=/opt/dmdbms/client" >> /home/mesuser/.bashrc

echo "export PATH=\$DM_HOME/bin:\$PATH" >> /home/mesuser/.bashrc

source /home/mesuser/.bashrc

echo "MES环境部署完成!请执行以下步骤:"

echo "1. 上传MES应用包至/opt/mes/app"

echo "2. 执行数据库迁移脚本"

echo "3. 启动MES服务"

执行:chmod +x mes_env_deploy.sh && ./mes_env_deploy.sh

2. 数据库迁移脚本(DM 数据库迁移至麒麟系统)

创建mes_db_migrate.sh

#!/bin/bash

# MES数据库迁移脚本(从旧DM数据库迁移至新麒麟系统DM数据库)

# 配置参数(需按实际修改)

OLD_DB_IP="192.168.1.100"

OLD_DB_PORT="5236"

OLD_DB_USER="SYSDBA"

OLD_DB_PWD="SYSDBA"

NEW_DB_IP="localhost"

NEW_DB_PORT="5236"

NEW_DB_USER="SYSDBA"

NEW_DB_PWD="SYSDBA"

BACKUP_DIR="/opt/mes/backup/db"

DB_NAME="MESDB"

# 创建备份目录

mkdir -p $BACKUP_DIR

# 1. 从旧数据库导出数据

echo "开始从旧数据库导出数据..."

/opt/dmdbms/client/bin/dexp $OLD_DB_USER/$OLD_DB_PWD@$OLD_DB_IP:$OLD_DB_PORT \

FILE=$BACKUP_DIR/mes_db_exp_$(date +%Y%m%d).dmp \

LOG=$BACKUP_DIR/mes_db_exp_$(date +%Y%m%d).log \

FULL=Y \

BUFFER=10240 \

FEEDBACK=1000

if [ $? -ne 0 ]; then

echo "数据导出失败,请查看日志:$BACKUP_DIR/mes_db_exp_$(date +%Y%m%d).log"

exit 1

fi

# 2. 导入新数据库

echo "开始导入新数据库..."

/opt/dmdbms/bin/imp $NEW_DB_USER/$NEW_DB_PWD@$NEW_DB_IP:$NEW_DB_PORT \

FILE=$BACKUP_DIR/mes_db_exp_$(date +%Y%m%d).dmp \

LOG=$BACKUP_DIR/mes_db_imp_$(date +%Y%m%d).log \

FULL=Y \

BUFFER=10240 \

FEEDBACK=1000 \

IGNORE=Y # 忽略已存在的表(避免导入失败)

if [ $? -ne 0 ]; then

echo "数据导入失败,请查看日志:$BACKUP_DIR/mes_db_imp_$(date +%Y%m%d).log"

exit 1

fi

# 3. 验证数据一致性(查询关键表记录数)

echo "验证数据一致性..."

OLD_COUNT=$(echo "SELECT COUNT(*) FROM MES_PRODUCTION_ORDER;" | /opt/dmdbms/client/bin/disql $OLD_DB_USER/$OLD_DB_PWD@$OLD_DB_IP:$OLD_DB_PORT -S | grep -v "COUNT" | awk '{print $1}')

NEW_COUNT=$(echo "SELECT COUNT(*) FROM MES_PRODUCTION_ORDER;" | /opt/dmdbms/bin/disql $NEW_DB_USER/$NEW_DB_PWD@$NEW_DB_IP:$NEW_DB_PORT -S | grep -v "COUNT" | awk '{print $1}')

if [ "$OLD_COUNT" -eq "$NEW_COUNT" ]; then

echo "数据迁移成功!关键表记录数一致:$OLD_COUNT"

else

echo "数据迁移警告!关键表记录数不一致(旧库:$OLD_COUNT,新库:$NEW_COUNT)"

exit 1

fi

echo "数据库迁移完成!备份文件路径:$BACKUP_DIR"

执行:chmod +x mes_db_migrate.sh && ./mes_db_migrate.sh

第四部分:常见问题与排坑技巧

1. 麒麟系统权限问题(MES 部署高频坑)

  • 现象:mesuser 用户无法写入/opt/mes/data目录
  • 解决

chown -R mesuser:mesgroup /opt/mes/

chmod -R 770 /opt/mes/

# 检查SELinux状态(必须关闭)

getenforce # 若返回Enforcing,执行setenforce 0

2. 依赖库版本冲突(如 libstdc++)

  • 现象:启动 MES 时提示 “libstdc++.so.6: version `GLIBCXX_3.4.21' not found”
  • 解决

dnf install -y libstdc++-devel

ln -s /usr/lib64/libstdc++.so.6.0.28 /usr/lib64/libstdc++.so.6 # 按实际版本修改

3. 磁盘挂载失败(fstab 配置错误)

  • 现象:重启后/opt/mes/data无法挂载,提示 “mount: /opt/mes/data: can't find in /etc/fstab.”
  • 解决

# 检查fstab配置(避免语法错误)

cat /etc/fstab | grep /opt/mes/data

# 正确配置格式:设备路径 挂载点 文件系统 选项 0 0

echo "/dev/mes_vg/mes_lv /opt/mes/data xfs defaults 0 0" >> /etc/fstab

# 验证配置

mount -a

4. MES 服务启动失败(端口占用)

  • 现象:Tomcat 启动提示 “Address already in use”
  • 解决

# 查找占用端口的进程

ss -tulnp | grep 8080

# 终止进程(按实际PID修改)

kill -9 12345

# 或修改Tomcat端口(/opt/tomcat/conf/server.xml)

第五部分:进阶学习资源推荐

  1. 官方文档
    • 麒麟操作系统 V10 用户手册:麒麟软件官方文档中心
    • 达梦数据库迁移指南:达梦技术文档中心
  1. 工具推荐
    • 远程管理:Xshell(支持麒麟系统)、麒麟自带远程桌面
    • 监控工具:nmon(系统监控)、Zabbix(企业级监控)
    • 迁移工具:DM DTS(数据库迁移)、rsync(文件同步)
  1. 实战场景扩展
    • 麒麟系统高可用集群配置(Kylin Cluster)
    • MES 系统国产化适配(兼容飞腾 / 鲲鹏 CPU)
    • 容器化部署(Docker+K8s on 麒麟 OS)

这份技术文档聚焦麒麟操作系统企业级应用,从基础操作到高阶部署形成完整知识体系,核心亮点:

1. 国产化适配:突出麒麟OS特有命令、安全配置和架构差异(x86/ARM)

2. 实操性极强:所有步骤含完整命令,脚本可直接复用(MES环境部署+数据库迁移)

3. 场景化设计:聚焦工业MES迁移等实际需求,解决企业级痛点

4. 避坑指南:针对高频问题提供具体解决方案,降低部署风险

若需补充某部分细节(如麒麟集群配置、容器化部署、特定MES系统适配),或优化脚本参数(如调整数据库备份策略、修改端口配置),欢迎随时告知,我会进一步提升文档的针对性和完整性!

(注:文档部分内容可能由 AI 生成)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 2:07:55

工会管理|基于java+ vue工会管理系统(源码+数据库+文档)

工会管理 目录 基于springboot vue工会管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue工会管理系统 一、前言 博主介绍:✌️大…

作者头像 李华
网站建设 2026/4/12 17:40:36

景区管理|基于java + vue景区管理系统(源码+数据库+文档)

景区管理 目录 基于springboot vue景区管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue景区管理系统 一、前言 博主介绍:✌️大…

作者头像 李华
网站建设 2026/4/16 1:18:05

精益生产 = 5S + 看板?这是最大的误解!

很多工厂一提精益生产,画面几乎是固定的。先从 5S 开始。 地面画线、物料定置、工具上墙,现场一下子“干净了、整齐了、有秩序了”。接着上看板。 生产看板、设备看板、异常看板、改善看板,墙上一下子热闹起来。领导来参观,现场拍…

作者头像 李华
网站建设 2026/4/14 4:33:05

最近在实验室折腾光伏并网仿真,发现这玩意儿挺有意思。今天就拿Matlab 2021a环境下的两级式单母系统开刀,咱们直接上硬货

两级式单相光伏并网仿真(注意版本matlab 2021a) 前级采用DC-DC变换电路,通过MPPT控制DC-DC电路的pwm波来实现最大功率跟踪,mppt采用扰动观察法,后级采用桥式逆变,用spwm波调制。 采用双闭环控制,实现直流母…

作者头像 李华
网站建设 2026/4/15 20:38:37

10 个AI论文工具,助你轻松完成继续教育论文!

10 个AI论文工具,助你轻松完成继续教育论文! AI 工具如何助力论文写作新体验 在继续教育的学术道路上,撰写高质量的论文是每位学习者必须面对的挑战。随着人工智能技术的不断进步,AI 工具正逐步成为学术写作的重要助手。无论是降低…

作者头像 李华