>
2020年12月CentOS 8宣布停止维护,2021年12月CentOS 7也进入倒计时。与此同时,国家信创政策持续推进——党政军、央企国企、能源交通等关键领域被要求优先使用国产基础软件。银河麒麟(Kylin)作为最成熟的国产操作系统之一,在信创目录中占据重要位置。
银河麒麟并非凭空出现。Kylin操作系统诞生于2006年,最初是国家863重大专项支持的国防科技大学项目。经过近20年迭代,银河麒麟从最初的国防专用系统,发展为今天的政企主流选择。V10版本基于Linux Kernel 5.10,同时支持x86_64和ARM64(鲲鹏)双架构,生态兼容性大幅提升。
选操作系统不是选最"国产"的,而是选"配套最完善、生态最成熟"的。本文帮你系统了解银河麒麟V10,判断它是否适合你的场景。
信创操作系统不是只有麒麟一家。下表对比主流选择:
| 操作系统 | 内核版本 | 最大优势 | 主要短板 | 典型应用场景 |
|---|---|---|---|---|
| 银河麒麟V10 | Kernel 5.10 | 兼容性最强,软硬件认证最多 | 商业授权费用 | 政务、央企、金融、能源 |
| 统信UOS | Kernel 4.19 | 桌面体验最佳 | 服务器生态弱 | 政府办公桌面替代 |
| 华为欧拉openEuler | Kernel 5.10 | 鲲鹏920原生优化,性能强 | 生态稍弱 | 电信、鲲鹏服务器 |
| 中兴新支点 | Kernel 3.x/4.x | 轻量,适合边缘场景 | 版本较老 | 工业控制、边缘计算 |
| 麒麟软件信心版 | Kernel 4.19 | V10社区衍生版 | 更新频率低 | 教育、政府办公 |
选型判断逻辑:如果是服务器场景,优先银河麒麟V10;如果是桌面办公场景,统信UOS体验更好。如果是华为鲲鹏服务器,openEuler原生支持更完善。
银河麒麟是商业软件,正规渠道需要授权许可:
网络上流传的"破解版"、"绿色版"麒麟系统存在安全风险——可能植入后门、可能存在未知漏洞。企业级使用请务必使用正版授权。使用盗版在央企审计时是严重风险。
| 组件 | 最低要求 | 推荐配置 | 说明 |
|---|---|---|---|
| CPU | x86_64 / ARM64 | x86_64 4核+ 或 鲲鹏920 | 支持虚拟化扩展更佳 |
| 内存 | 4GB | 8GB以上 | 服务器建议16GB起步 |
| 硬盘 | 40GB | 100GB以上SSD | 系统+日志+应用 |
| 引导方式 | UEFI或Legacy | UEFI优先 | 新机器建议UEFI |
| RAID | 可选 | RAID1推荐 | 生产环境数据安全 |
# 制作U盘启动盘(Linux环境)
# 插入U盘,确认设备名
sudo fdisk -l | grep "Disk /dev/sd"
# 假设U盘为 /dev/sdb(务必确认!选错磁盘会清空数据!)
sudo dd if=kylin-server-10.iso of=/dev/sb bs=4M status=progress conv=fdatasync
# 制作完成后验证
sudo fsync
sudo eject /dev/sb
以下安装流程以银河麒麟V10 SP1 x86_64服务器版为例,与主流Linux发行版安装高度一致,有CentOS/RHEL经验的技术人员可快速上手。
1启动引导:插入U盘启动,进入BIOS选择U盘启动,或按F12选择启动介质。银河麒麟启动界面支持图形和文本两种模式,输入interactive可进入高级安装选项。
2语言选择:默认简体中文,直接回车继续。图形化安装界面使用GTK框架,风格与CentOS/RHEL高度一致。
3安装目的地:选择"自动配置分区",或手动配置LVM分区。生产环境建议:/boot 1GB、swap 8GB、/ 剩余。建议开启LVM,方便后期扩容。
4网络与主机名:配置静态IP,记录服务器管理IP。主机名建议按规范命名,如,预生产环境dev-app-01、pro-app-01。
5软件选择:选择"服务器(带GUI)"或"最小安装"。带GUI方便调试,最小安装更安全。选择"虚拟化主机"可同时安装KVM虚拟化层。
6开始安装:设置root密码,创建管理员账号。安装过程约10-15分钟。
# 验证系统版本
cat /etc/os-release
# NAME="Kylin"
# VERSION="V10 (SP1)"
# ID="kylin"
# VERSION_ID="V10SP1"
# 验证内核版本
uname -r
# 5.10.xxxxxx.kylin.x86_64
# 验证CPU架构
uname -m
# x86_64 或 aarch64(鲲鹏)
# 验证SELinux状态
getenforce
# Enforcing(生产环境建议保持开启)
# 查看当前网卡名称
ip link show
# 通常为 eth0 或 enp0s3
# 查看当前IP
ip addr show eth0
# 使用nmcli配置静态IP(推荐)
sudo nmcli connection modify "System eth0" ipv4.addresses 192.168.1.100/24
sudo nmcli connection modify "System eth0" ipv4.gateway 192.168.1.1
sudo nmcli connection modify "System eth0" ipv4.dns "223.5.5.5,8.8.8.8"
sudo nmcli connection modify "System eth0" ipv4.method manual
sudo nmcli connection up "System eth0"
# 验证网络
ping -c 3 baidu.com
银河麒麟使用dnf(yum的下一代)作为包管理器,默认源可能速度较慢,需要配置国内镜像或官方源:
# 备份原始源
sudo mkdir /etc/yum.repos.d/backup
sudo mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/
# 方法1:配置麒麟官方源
sudo vi /etc/yum.repos.d/kylin.repo
# 添加以下内容:
[ks10-adv]
name=Kylin Linux Advanced Server 10 - Official
baseurl=http://update.kylinos.cn/ks10-adv/os/amd64/
enabled=1
gpgcheck=0
priority=1
[kylin-extras]
name=Kylin Linux Extras
baseurl=http://update.kylinos.cn/extras/
enabled=1
gpgcheck=0
# 方法2:使用国内镜像(更快)
# 中科大镜像
sudo vi /etc/yum.repos.d/kylin-mirror.repo
[kylin-mirror]
name=Kylin Linux - USTC Mirror
baseurl=https://mirrors.ustc.edu.cn/kylin/
enabled=1
gpgcheck=0
# 刷新并测试
sudo dnf clean all
sudo dnf makecache
sudo dnf repolist
# 应该看到已启用的源列表
# 设置时区为上海
sudo timedatectl set-timezone Asia/Shanghai
# 启用NTP同步
sudo timedatectl set-ntp true
# 验证
timedatectl
# Local time: 四 2026-05-28 13:00:00 CST
# Universal time: UTC 05:00:00
# RTC time: UTC 05:00:00
# Time zone: Asia/Shanghai (CST, +0800)
# synchronized: yes
# 查看开机启动服务
systemctl list-units --type=service --state=running
# 关闭蓝牙(服务器通常不需要)
sudo systemctl stop bluetooth
sudo systemctl disable bluetooth
# 关闭防火墙进行测试(生产环境根据需要配置)
sudo systemctl stop firewalld
sudo systemctl disable firewalld
# 生产环境建议使用 iptables 或保持 firewalld 但开放必要端口
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --add-port=443/tcp --permanent
sudo firewall-cmd --reload
Docker是信创环境下最重要的工具之一。由于部分软件没有麒麟版本,通过Docker运行x86_64镜像可以绕过兼容性问题。
# 安装Docker(银河麒麟V10对Docker CE支持良好)
sudo dnf install -y yum-utils device-mapper-persistent-data lvm2
# 添加Docker官方源
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装Docker引擎
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 启动并设置开机自启
sudo systemctl enable --now docker
# 验证安装
docker --version
# Docker version 24.0.7, build afdd53b
# 验证运行
docker run --rm hello-world
# 镜像管理
docker images # 查看本地镜像
docker pull nginx:alpine # 拉取镜像
docker rmi $(docker images -q) # 清理未使用镜像
# 容器管理
docker ps -a # 查看所有容器
docker run -d --name nginx -p 80:80 nginx:alpine # 启动容器
docker stop nginx && docker rm nginx # 停止并删除
# 查看日志
docker logs -f nginx --tail 100
# 进入容器
docker exec -it nginx /bin/sh
# Docker Compose(推荐生产使用)
docker compose up -d
docker compose ps
docker compose logs -f
docker compose down
假设原有CentOS 7上运行一个Java Spring Boot应用,迁移到麒麟Kylin的推荐路径:
# 1. 在CentOS 7上为应用制作Dockerfile
# Dockerfile 示例:
FROM openjdk:11-jre-slim
WORKDIR /app
COPY target/myapp.jar /app/app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app/app.jar"]
# 2. 构建镜像并推送私有仓库
docker build -t registry.example.com/myapp:v1.0 .
docker push registry.example.com/myapp:v1.0
# 3. 在麒麟Kylin上拉取并运行
ssh root@192.168.1.100
docker run -d --restart=always \
--name myapp \
-p 8080:8080 \
-v /data/logs:/app/logs \
registry.example.com/myapp:v1.0
# 4. 验证
curl http://localhost:8080/health
# 安装OpenJDK 11(麒麟官方源有)
sudo dnf install -y java-11-openjdk java-11-openjdk-devel
# 验证
java -version
# openjdk version "11.0.20" 2023-07-18
# 设置JAVA_HOME
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk' | sudo tee /etc/profile.d/java.sh
echo 'export PATH=$JAVA_HOME/bin:$PATH' | sudo tee -a /etc/profile.d/java.sh
source /etc/profile.d/java.sh
echo $JAVA_HOME
# 安装Python3和pip
sudo dnf install -y python3 python3-pip
# 验证
python3 --version
# Python 3.9.x
# 安装venv虚拟环境
sudo dnf install -y python3-venv
# 创建项目虚拟环境
python3 -m venv /opt/venv/myproject
source /opt/venv/myproject/bin/activate
pip install flask gunicorn
# 验证
pip list | grep -E "Flask|Gunicorn"
如果你的服务器使用的是华为鲲鹏920处理器(ARM64架构),以下事项需要特别关注:
linux/arm64标签的官方镜像,或使用多架构镜像sysbench做CPU和内存基准测试# 验证ARM64架构
uname -m
# aarch64
# 安装sysbench做基准测试
sudo dnf install -y sysbench
# CPU基准测试(16线程,10秒)
sysbench cpu --threads=16 --time=10 run
# 内存基准测试
sysbench memory --threads=16 --time=10 run
很多企业已有CentOS 7/8基础,迁移到麒麟Kylin不是一蹴而就,需要系统规划:
| 评估项 | 评估方法 | 通过标准 |
|---|---|---|
| 应用兼容性 | 在测试机安装麒麟,运行应用验证 | 无报错,功能正常 |
| 数据库驱动 | Oracle/达梦/MySQL驱动安装测试 | 连接池测试通过 |
| 中间件版本 | 对照麒麟官方兼容性列表 | 版本在兼容范围内 |
| 第三方工具 | 逐个确认Linux版本需求 | 有麒麟版本或替代品 |
| 运维脚本 | 检查Shell脚本中系统特有命令 | 已替换兼容性命令 |
推荐分阶段迁移策略,不建议一次性全量迁移:
第一阶段:容器化。先把应用Docker容器化,操作系统层保持CentOS不变。验证容器在麒麟上运行正常后,进入第二阶段。
第二阶段:测试环境切换。测试环境部署麒麟Kylin,承接测试流量。观察2-4周无问题后进入生产阶段。
第三阶段:生产灰度。选择非核心业务先迁移,或使用蓝绿部署方式:新麒麟接管流量,观察稳定后下架CentOS。
以下情况不能迁移:核心业务系统无测试环境、迁移窗口超过4小时且无回滚方案、第三方监管系统仅认证CentOS。这是信创迁移的基本风险控制。
# 典型场景:运行 sudo dnf install docker-ce 报错
# 原因:软件源未正确配置,或软件包名不同
# 解决1:搜索正确包名
dnf search docker
dnf search nginx
# 解决2:添加正确的EPEL或官方源
sudo dnf install -y epel-release
sudo dnf update
# 解决3:麒麟专用包
dnf list --showduplicates | grep nginx
# 查看麒麟源中nginx可用版本
# 典型场景:ssh连接服务器需要10秒以上
# 原因:DNS反向解析导致
# 解决
sudo vi /etc/ssh/sshd_config
# 添加或修改:
UseDNS no
GSSAPIAuthentication no
sudo systemctl restart sshd
# 服务器版通常无此问题,桌面版可能出现
# 解决:安装中文字体
sudo dnf install -y wqy-microhei-fonts wqy-zenhei-fonts
sudo fc-cache -fv
# 如果是远程桌面rdesktop
rdesktop -f -r font=simsun 192.168.1.100
# 检查磁盘IOPS
iostat -x 2 5
# 检查是否是SSD
cat /sys/block/sda/queue/rotational
# 0 = SSD, 1 = HDD
# 如果HDD正常但IO很慢,检查调度算法
cat /sys/block/sda/queue/scheduler
# 应该显示: [mq-deadline] kyber bfq none
# 切换为deadline调度(适合数据库场景)
echo mq-deadline | sudo tee /sys/block/sda/queue/scheduler
银河麒麟Kylin V10作为信创操作系统的代表,已经足够成熟——从安装到日常维护,与CentOS/RHEL体验高度一致。对于正在做信创替代的企业,迁移路径建议:
第一,先在测试环境完整验证兼容性,不要在生产环境直接试水。第二,优先使用Docker容器化,降低对操作系统的直接依赖——容器化的应用迁移成本最低。第三,核心业务系统分批迁移,每批验证通过后再迁移下一批。第四,始终保留回滚能力,迁移窗口要有可逆方案。
信创替代不是终点,是起点。选对工具,做好预案,迁移过程可以很平稳。