国产操作系统常规运维指令手册

运维指令手册 21.8 KB 原文

国产操作系统常规运维指令手册

覆盖:统信 UOS、银河麒麟 Kylin V10、openEuler、阿里龙蜥 Anolis OS、腾讯 TencentOS Server、深度 Deepin、红旗 / 中标麒麟 组织方式:先定血统,再套命令。国产系统 90% 的运维工作就是 RHEL 系或 Debian 系命令,厂商特有工具只占小部分。 约定:$ 普通用户,# root 或 sudo,<xxx> 占位符。 重要提示:国产发行版版本分支多、厂商定制深,本文档给出的通用命令可直接使用;厂商特有命令与默认安全策略务必以目标机器实测为准,文中已标注不确定处。


目录


第 0 章 国产系统全景与血统识别

0.1 全景观测

系统 厂商 血统 包管理 主要场景
统信 UOS 统信软件 Debian apt / dpkg 党政办公桌面、服务器
银河麒麟 V10 服务器版 麒麟软件 RHEL(兼容 CentOS 8) yum / dnf 党政、金融、能源服务器
银河麒麟 V10 桌面版 麒麟软件 Debian apt / dpkg 办公终端
中标麒麟 NeoKylin 麒麟软件 RHEL(CentOS 7 系) yum 存量老系统
openEuler 开放原子基金会(华为主导) RHEL 系,独立演进 dnf / yum 服务器、云、边缘
阿里龙蜥 Anolis OS 阿里云 RHEL 8 兼容 dnf 云上服务器
腾讯 TencentOS Server 腾讯云 RHEL 系 yum / dnf 腾讯云、IDC
深度 Deepin 深度科技 Debian apt + linglong 桌面终端
红旗 Red Flag 中科红旗 RHEL / Asianux,新版靠拢 openEuler yum / dnf 政企服务器

最大的认知误区:"麒麟"不是一个系统。银河麒麟服务器版是 RPM 系、桌面版是 DEB 系,两者命令不通用。上手第一件事必须是识别血统,不能凭名字猜。

0.2 三步定血统(必须执行)

# 第一步:看 os-release,重点看 ID 与 ID_LIKE
cat /etc/os-release

# 第二步:看命中了哪个包管理器
for c in apt dnf yum zypper apk; do command -v $c >/dev/null && echo "有 $c"; done

# 第三步:看 init 与安全模块
command -v systemctl && echo systemd || echo "非 systemd"
getenforce 2>/dev/null    # 有输出 → SELinux
aa-status 2>/dev/null     # 有输出 → AppArmor

判读表:

探测结果 结论 用哪套命令
有 apt,ID_LIKE=debian Debian 系 《Ubuntu 常用运维指令手册》
有 dnf 或 yum,ID_LIKE 含 rhel/centos/fedora RHEL 系 《CentOS 7-10 常规运维指令手册》
有 getenforce 且 Enforcing RHEL 系 + SELinux 开启 CentOS 手册第 11 章
有 aa-status Debian 系或 SUSE AppArmor 篇

0.3 国产系统专属识别命令

# 统信 UOS
cat /etc/os-release | grep -i uniontech
cat /etc/uos-release 2>/dev/null

# 银河麒麟(含中标麒麟,通用)
cat /etc/kylin-release
nkvers                      # 麒麟专用:输出详细版本与补丁号

# openEuler
cat /etc/openEuler-release

# 阿里龙蜥
cat /etc/anolis-release

# 腾讯 TencentOS
cat /etc/tencentos-release 2>/dev/null || cat /etc/tlinux-release 2>/dev/null

# 深度 Deepin
cat /etc/deepin-version 2>/dev/null
cat /etc/os-release | grep -i deepin

# 红旗
cat /etc/redflag-release 2>/dev/null

0.4 CPU 架构(国产化环境的第一道坎)

信创服务器大量运行在非 x86 架构上,软件包必须架构匹配,这是国产环境最常见的部署失败原因。

uname -m
arch
返回值 架构 典型 CPU
x86_64 x86-64 海光、兆芯、Intel、AMD
aarch64 ARM64 飞腾(Phytium)、鲲鹏(Kunpeng)
loongarch64 龙芯自主架构 龙芯 3A5000/3A6000
sw_64 申威 申威 SW6
mips64 MIPS 龙芯早期
# RPM 系:确认包架构
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' <pkg>
rpm -qp --qf '%{ARCH}\n' ./pkg.rpm

# DEB 系:确认包架构
dpkg --print-architecture

# 查看 CPU 详情(国产 CPU 的型号识别)
lscpu | grep -E 'Model name|Architecture|CPU\(s\)'
cat /proc/cpuinfo | grep -m1 -E 'model name|CPU part'

跨架构的三个现实约束:① 官方仓库一般只提供本架构包;② 源码编译需匹配工具链(龙芯需 LoongArch 版 GCC);③ x86 的 Docker 镜像在 ARM 上跑不了,需多架构镜像或 qemu 模拟(性能损失大,生产不建议)。


第一篇 统信 UOS

统信 UOS 基于 Debian,桌面环境为 DDE。运维命令与 Debian/Ubuntu 高度一致,差异集中在软件源、授权激活、安全中心。

1.1 识别与版本

cat /etc/os-release
# NAME="UnionTech OS Server 20" / "UnionTech OS Desktop 20 Pro"
# ID=uos, ID_LIKE=debian
uname -r
cat /etc/uos-release 2>/dev/null

1.2 包管理

sudo apt update
sudo apt upgrade
sudo apt install <pkg>
sudo apt remove --purge <pkg>
sudo apt autoremove
apt list --installed | grep <pkg>
apt-cache policy <pkg>

# 本地 deb 包(离线环境主流方式)
sudo dpkg -i ./pkg.deb
sudo apt --fix-broken install        # 补依赖
sudo dpkg -l | grep <pkg>

UOS 20 起提供 aptss 命令(对 apt 的包装,带厂商源优化与速度改进)。可用性与参数随版本变化,以 aptss --help 实测为准;不确定时直接用标准 apt,行为一致。

1.3 软件源

cat /etc/apt/sources.list
ls /etc/apt/sources.list.d/

专业版典型源(域名以实际授权环境为准):

deb https://professional-packages.chinauos.com/desktop-professional <代号> main contrib non-free

社区版/家庭版走 community-packages.chinauos.com。

sudo apt update
sudo apt clean

UOS 的源是授权绑定的:专业版源需授权服务器可达,离线环境通常部署内网源(apt-mirror 或厂商提供的镜像 ISO)。更换第三方源可能导致系统组件不兼容,生产环境不要随意加 Debian 官方源。

1.4 服务与系统

与 systemd 标准一致:

systemctl status|start|stop|restart|enable <svc>
systemctl list-units --failed
journalctl -u <svc> -f
journalctl -xe

1.5 网络

UOS 桌面以图形网络管理为主,底层是 NetworkManager:

nmcli device status
nmcli connection show
sudo nmcli connection modify <name> ipv4.method manual \
  ipv4.addresses 192.168.1.10/24 ipv4.gateway 192.168.1.1 ipv4.dns 223.5.5.5
sudo nmcli connection up <name>

ip a; ip r

1.6 安全

AppArmor(Debian 系默认):

sudo aa-status
sudo journalctl -k | grep -i apparmor

防火墙:UOS 桌面默认不启用防火墙前端,服务器版可能有 ufw 或裸 nftables,实测确认:

sudo ufw status 2>/dev/null
sudo nft list ruleset 2>/dev/null
systemctl status firewalld 2>/dev/null

安全中心:UOS 提供图形化"安全中心"(等保合规、病毒防护、外设管控、三权分立配置)。命令行下主要依赖标准 Linux 手段:

# 账户与登录审计
last; lastb; who
grep "Failed password" /var/log/auth.log | tail

# 服务暴露面
ss -tulnp

# 文件完整性
sudo debsums -c 2>/dev/null || sudo dpkg -V

1.7 授权与激活

UOS 专业版需授权激活。不同版本的激活方式与命令不同,常见路径:

  • 图形:控制中心 → 系统信息 → 激活
  • 命令行工具随版本变化,使用前先 ls /usr/bin | grep -i -E 'uos|activ' 查看本机实际提供的工具

离线环境通常使用离线授权文件导入。批量部署建议联系厂商获取静默激活方案,不要依赖单机图形操作。

1.8 UOS 避坑

  1. 不要加 Debian 官方源:UOS 有大量定制包,混源会破坏依赖甚至无法进入桌面。
  2. 桌面版三权分立:等保场景下 root 可能被限制,部分操作需通过安全管理员账户完成。
  3. 内核与驱动强绑定:国产硬件(尤其显卡、打印机)驱动由厂商提供,替换内核会导致驱动失效。
  4. 离线环境是常态:提前准备内网源与 deb 依赖包集合(apt-get install --download-only)。

第二篇 银河麒麟 Kylin V10

本篇最关键的一句话:先确认是服务器版还是桌面版。

分支 血统 包管理 配置文件 桌面
银河麒麟高级服务器操作系统 V10 RHEL 系(兼容 CentOS 8) yum / dnf /etc/kylin-release 无(可选 UKUI)
银河麒麟桌面操作系统 V10 Debian 系 apt / dpkg /etc/kylin-release UKUI
中标麒麟 NeoKylin 7 RHEL 7 系 yum /etc/neokylin-release MATE/UKUI

2.1 识别(必做)

cat /etc/kylin-release
nkvers                            # 麒麟专用:输出完整版本、补丁号、架构
cat /etc/os-release
uname -m
for c in apt dnf yum; do command -v $c >/dev/null && echo "有 $c"; done

nkvers 是麒麟系最有用的识别命令,输出包含 V10 SP1/SP2/SP3 等补丁级别,工单报障时直接贴这个结果。

2.2 服务器版(RPM 系)运维

与 CentOS 8 基本一致,直接参考《CentOS 7-10 常规运维指令手册》。

# 包管理
sudo yum makecache
sudo yum install -y <pkg>
sudo yum remove <pkg>
sudo yum update
yum list installed | grep <pkg>
yum provides */<cmd>
rpm -qa | grep <pkg>
rpm -ql <pkg>
rpm -qf /usr/bin/<cmd>

# 服务
systemctl status|start|stop|restart|enable <svc>
systemctl list-units --failed
journalctl -u <svc> -f
journalctl -xe

# 网络
ip a; ip r
nmcli device status
nmcli connection show
sudo nmcli connection modify <name> ipv4.addresses 192.168.1.10/24
sudo nmcli connection up <name>

# 防火墙
systemctl status firewalld
firewall-cmd --list-all
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

# 日志
tail -F /var/log/messages
tail -F /var/log/secure

SELinux 状态必须实测:

getenforce
sestatus
cat /etc/selinux/config

国产服务器系统出于兼容性考虑,SELinux 常配置为 permissive 或 disabled,与标准 CentOS 默认 enforcing 不同。不要假设,一律实测。若为 enforcing 且应用报权限错误,按《CentOS 手册》第 11 章流程处理。

麒麟安全机制(kysec)

麒麟 V10 提供执行控制/文件保护等安全增强机制(kysec)。状态查看与配置命令随版本差异较大,建议:

# 先探测本机实际提供的工具
ls /usr/bin /usr/sbin | grep -i -E 'kysec|kylin.*secur'
# 图形路径:安全中心 → 安全配置

若应用被"执行控制"拦截,典型表现是进程无法启动且系统日志有拦截记录。此时应在麒麟安全中心将对应程序加入白名单,而不是关闭整个安全机制(等保环境关闭会不合规)。

2.3 桌面版(DEB 系)运维

与 Debian/Ubuntu 一致:

sudo apt update
sudo apt install <pkg>
sudo dpkg -i ./pkg.deb
sudo apt --fix-broken install
apt list --installed | grep <pkg>

systemctl status|start|restart <svc>
journalctl -u <svc> -f

nmcli device status
ip a; ip r

sudo aa-status                    # AppArmor

2.4 麒麟常见运维场景

# 查看硬件与驱动(国产整机适配排查)
lspci -nn
lsusb
lscpu
dmidecode -t system
dmesg -T | grep -iE "error|fail"

# 图形界面起不来(桌面版)
systemctl status lightdm 2>/dev/null || systemctl status gdm 2>/dev/null
journalctl -b -p err
df -h                             # 磁盘满导致无法登录是最常见原因

# 外设(打印机/扫描仪)不识别
lpstat -p -d                     # CUPS 状态
systemctl status cups

2.5 麒麟避坑

  1. 服务器版 ≠ 桌面版:一个是 yum,一个是 apt,照抄命令必失败。
  2. nkvers 是报障必备,能直接定位补丁级别。
  3. 不要关闭 kysec 与 SELinux 凑合:等保测评会扣分,应用应通过白名单/策略适配。
  4. 国产整机驱动随内核走:升级内核前确认厂商驱动支持矩阵。
  5. 补丁升级走官方渠道:麒麟补丁包与 CentOS 源不通用,混用会导致依赖断裂。

第三篇 openEuler

华为主导开源的服务器操作系统,基于 RHEL 系但已独立演进。国内信创服务器的主力选择之一,也大量用于云与边缘。

3.1 识别与版本

cat /etc/openEuler-release
cat /etc/os-release
uname -r                        # 20.03 → 4.19;22.03 → 5.10;24.03 → 6.6
uname -m                        # x86_64 / aarch64 / riscv64 / loongarch64
版本 内核 状态
20.03 LTS 4.19 维护中(SP 系列)
22.03 LTS 5.10 主流
24.03 LTS 6.6 较新

3.2 包管理(dnf / yum)

与 RHEL 8+ 一致,yum 是 dnf 软链:

sudo dnf makecache
sudo dnf install -y <pkg>
sudo dnf remove <pkg>
sudo dnf update
sudo dnf upgrade

dnf list installed | grep <pkg>
dnf info <pkg>
dnf search <kw>
dnf provides */<cmd>
dnf repoquery -l <pkg>
dnf history
sudo dnf history undo <id>

rpm -qa | grep <pkg>
rpm -ql <pkg>
rpm -qf /usr/bin/<cmd>
rpm -V <pkg>

仓库配置 /etc/yum.repos.d/openEuler.repo:

[openEuler]
name=openEuler
baseurl=http://repo.openeuler.org/openEuler-24.03-LTS/OS/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-24.03-LTS/OS/$basearch/RPM-GPG-KEY-openEuler

[everything]
name=everything
baseurl=http://repo.openeuler.org/openEuler-24.03-LTS/everything/$basearch/
enabled=1
gpgcheck=1
# 国内镜像
sudo sed -i 's|repo.openeuler.org|mirrors.aliyun.com/openeuler|g' /etc/yum.repos.d/openEuler.repo
sudo dnf clean all && sudo dnf makecache
sudo dnf repolist

EPOL(扩展软件仓):openEuler 把部分软件放在 EPOL 仓,装不到时先确认:

ls /etc/yum.repos.d/
dnf repolist all

3.3 服务与系统

标准 systemd:

systemctl status|start|stop|restart|enable <svc>
systemctl list-units --failed
systemd-analyze blame
journalctl -u <svc> -f
journalctl -xe

3.4 网络

NetworkManager:

nmcli device status
nmcli connection show
sudo nmcli connection add type ethernet con-name eth0 ifname eth0 \
  ipv4.method manual ipv4.addresses 192.168.1.10/24 \
  ipv4.gateway 192.168.1.1 ipv4.dns "223.5.5.5 8.8.8.8"
sudo nmcli connection up eth0

ip a; ip r; ss -tulnp

3.5 防火墙与安全

systemctl status firewalld
firewall-cmd --list-all
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

getenforce
sestatus
sudo ausearch -m avc -ts recent

openEuler 默认 SELinux 状态随版本与安装选项变化,getenforce 实测。若开启,semanage/restorecon 流程与 CentOS 完全相同。

3.6 openEuler 特色组件

iSulad(轻量容器引擎)

systemctl status isulad
isula version
isula ps -a
isula images
isula run -itd --name web nginx
isula exec -it web /bin/bash
isula logs web
isula stats

iSulad 是 openEuler 自研的容器引擎(C/C++ 实现,比 Docker 更轻),命令与 docker 高度相似但不通用。若同时装了 docker,注意两个引擎的容器互不可见。

A-Tune(AI 自动调优)

systemctl status atuned
atune-adm list                 # 可用调优 profile
atune-adm info <profile>
sudo atune-adm profile <profile>     # 应用
atune-adm analysis --characterization  # 采集负载特征并推荐

其他

# 系统信息
cat /etc/openEuler-release
dnf list installed | wc -l

# 内核热补丁(部分版本支持)
ls /sys/kernel/livepatch/ 2>/dev/null

# 安全加固工具
command -v security-tool 2>/dev/null

3.7 openEuler 避坑

  1. yum 与 dnf 是同一个东西,但 22.03 起部分文档只写 dnf,脚本里统一用 dnf 更稳。
  2. EPOL 仓默认可能未启用,装不到软件先查仓。
  3. iSulad 与 docker 命令不通用,别在 iSulad 上跑 docker 命令。
  4. aarch64 是主力架构,x86 的第三方 rpm 不能直接用。
  5. openEuler 与 CentOS 的包名有差异(部分包拆分/改名),迁移脚本要做映射。

第四篇 阿里龙蜥 Anolis OS

阿里云主导,定位是 CentOS 8 的 1:1 兼容替代。云上 ECS 大量使用。

4.1 识别

cat /etc/anolis-release
cat /etc/os-release
uname -r                        # ANCK 内核,版本号带 anck 标识
uname -m                        # x86_64 / aarch64
版本 定位
Anolis OS 8.x 兼容 RHEL 8 / CentOS 8,稳定主力
Anolis OS 23 新一代,独立演进

4.2 运维命令

完全等同 CentOS 8,直接使用 CentOS 手册:

sudo dnf makecache
sudo dnf install -y <pkg>
sudo dnf update
dnf list installed | grep <pkg>
dnf provides */<cmd>
rpm -qa; rpm -ql <pkg>

systemctl status|start|restart|enable <svc>
journalctl -u <svc> -f

nmcli device status
ip a; ip r

firewall-cmd --list-all
getenforce

4.3 仓库

ls /etc/yum.repos.d/
cat /etc/yum.repos.d/*.repo

# 国内镜像
sudo sed -i 's|mirrors.openanolis.cn|mirrors.aliyun.com/anolis|g' /etc/yum.repos.d/*.repo
# 或直接用阿里云内网源(ECS 上更快)
sudo dnf clean all && sudo dnf makecache

4.4 特色

# ANCK 内核(阿里云优化内核)
uname -r | grep -i anck
rpm -qa | grep kernel

# Dragonwell JDK(阿里 Java 发行版)
alternatives --config java
java -version

# 从 CentOS 8 迁移
# 官方提供 migration 工具,参考 anolis 官方文档
cat /etc/yum.repos.d/*.repo | grep -i anolis

4.5 避坑

  1. 与 CentOS 8 高度兼容,但源码包名有差异,编译型软件注意。
  2. ANCK 内核与标准内核 ABI 不完全一致,第三方 DKMS 驱动需确认支持。
  3. Anolis 23 与 8.x 差异较大,脚本要做版本分支。

第五篇 腾讯 TencentOS Server

腾讯自研服务器操作系统,腾讯云 CVM 与 IDC 均有使用。

5.1 识别

cat /etc/tencentos-release 2>/dev/null
cat /etc/tlinux-release 2>/dev/null
cat /etc/os-release
uname -r                        # TencentOS Kernel(tkernel)
uname -m
版本 定位
TencentOS Server 2.4(TLinux 2.4) CentOS 7 系
TencentOS Server 3.1 兼容 RHEL 8
TencentOS Server 4 新一代

5.2 运维命令

RHEL 系,命令同 CentOS:

sudo yum makecache             # 2.x
sudo dnf makecache             # 3.x+

sudo yum install -y <pkg>
sudo dnf install -y <pkg>
sudo dnf update

systemctl status|start|restart|enable <svc>
journalctl -u <svc> -f

ip a; ip r; ss -tulnp
nmcli device status

firewall-cmd --list-all
getenforce

5.3 仓库

cat /etc/yum.repos.d/*.repo
# 腾讯云内网源(CVM 上自动配置,速度最快)
# mirrors.tencent.com / mirrors.cloud.tencent.com
sudo dnf clean all && sudo dnf makecache

5.4 避坑

  1. 2.x 与 3.x 包管理器不同(yum vs dnf),先确认版本。
  2. tkernel 是定制内核,升级内核走官方渠道,不要直接用 ELRepo。
  3. 云上实例优先用内网源,公网源慢且可能被限速。

第六篇 深度 Deepin

国产桌面发行版的代表,基于 Debian,deepin 23 起引入自研包格式玲珑(linglong)。

6.1 识别

cat /etc/os-release
cat /etc/deepin-version 2>/dev/null
uname -r
dpkg --print-architecture

6.2 传统包管理(apt / dpkg)

sudo apt update
sudo apt upgrade
sudo apt install <pkg>
sudo apt remove --purge <pkg>
sudo apt autoremove
sudo dpkg -i ./pkg.deb
sudo apt --fix-broken install
apt list --installed | grep <pkg>

源:/etc/apt/sources.list,社区源 community-packages.deepin.com。

cat /etc/apt/sources.list
sudo apt update

6.3 玲珑包(linglong,deepin 23+)

应用层的新包格式,实现"应用与系统解耦、多版本共存":

# 命令行工具 ll-cli
ll-cli --version
ll-cli list                          # 已安装应用
ll-cli search <app>                  # 搜索
ll-cli install <app-id>              # 安装
ll-cli uninstall <app-id>
ll-cli run <app-id>                  # 运行
ll-cli info <app-id>
ll-cli upgrade
ll-cli repo list

玲珑应用不装在系统目录,而在 ~/.linglong 或 /var/lib/linglong 下,因此不会污染系统依赖。排查应用问题要先分清:这是 apt 包还是玲珑包(ll-cli list 查)。

6.4 服务与系统

systemd 标准:

systemctl status|start|restart|enable <svc>
journalctl -u <svc> -f
journalctl -xe

nmcli device status
ip a; ip r

sudo aa-status

6.5 桌面排障

# 桌面起不来
systemctl status lightdm
journalctl -b -p err
df -h                              # 磁盘满是头号原因

# 显示与驱动
lspci -nn | grep -i vga
glxinfo | grep "OpenGL renderer"   # 需 mesa-utils
xrandr

# 输入法
fcitx5-diagnose 2>/dev/null || fcitx-diagnose 2>/dev/null

# 图形会话
echo $XDG_SESSION_TYPE             # x11 / wayland

6.6 避坑

  1. 不要混用 Debian 官方源:deepin 有大量定制包,混源会破坏 DDE。
  2. 玲珑应用与 apt 应用是两套体系,卸载/更新路径不同,别找错地方。
  3. Wayland 与 X11 兼容性差异:部分国产外设驱动只支持 X11,登录界面可切换。
  4. 桌面版不适合当服务器用:默认开着图形栈与自动更新,资源占用高。

第七篇 红旗 / 中标麒麟

存量政企环境中仍有部署,以服务器为主。

7.1 红旗 Red Flag

cat /etc/redflag-release 2>/dev/null
cat /etc/os-release
uname -r

红旗服务器版历经 RHEL / Asianux 血统,较新版本向 openEuler 生态靠拢。运维命令为 RPM 系:

sudo yum makecache           # 或 dnf
sudo yum install -y <pkg>
sudo yum update
systemctl status|start|restart <svc>
journalctl -u <svc> -f
ip a; ip r
firewall-cmd --list-all
getenforce

7.2 中标麒麟 NeoKylin

基于 RHEL 7 系:

cat /etc/neokylin-release 2>/dev/null
nkvers
cat /etc/os-release
sudo yum install -y <pkg>
sudo yum update
systemctl status|start|restart <svc>
journalctl -u <svc> -f
tail -F /var/log/messages

中标麒麟多为 CentOS 7 时代的存量系统,注意 2024 年后 CentOS 7 已 EOL,这类系统同样面临补丁缺失问题,需按国产化替代路线规划迁移。

7.3 避坑

  1. 认准 release 文件与 nkvers,红旗/麒麟系分支多,不能靠界面判断。
  2. 老系统 systemd 版本低,部分新参数(如 systemctl --now)可能不支持。
  3. 补丁源不通用:红旗、麒麟、中标麒麟的补丁包互不兼容。

第八篇 信创环境专项(架构 / 等保 / 国密)

这部分是国产化环境相对通用 Linux 的真正差异化运维内容。

8.1 多架构运维要点

uname -m
rpm -q --qf '%{ARCH}\n' <pkg>          # RPM 系
dpkg -l <pkg> | awk '{print $3}'       # DEB 系(含架构后缀)

# 确认二进制架构
file /usr/bin/<bin>
readelf -h /usr/bin/<bin> | grep Machine
# x86-64 / AArch64 / LoongArch
场景 注意事项
安装第三方 rpm/deb 包名必须含正确架构(.aarch64.rpm / .arm64.deb)
源码编译 需对应架构工具链;龙芯需 LoongArch GCC,申威需 swgcc
Python 扩展 需本机编译(pip install 而非下载 x86 wheel)
Docker 镜像 需多架构 tag(--platform linux/arm64);用 qemu-user-static 可模拟但性能差
Java 应用 纯 Java 跨架构无碍;含 JNI 的需重编
性能调优 ARM 的 NUMA、缓存层级与 x86 不同,tuned profile 要重选
# 容器跨架构(ARM 主机跑 x86 镜像)
docker run --privileged --rm tonistiigi/binfmt --install all
docker run --platform linux/amd64 <image>

8.2 等保 2.0 相关运维动作

等保三级常见技术要求与对应命令:

# 1. 身份鉴别:口令复杂度、登录失败锁定
grep -E '^PASS_(MAX|MIN)' /etc/login.defs
grep -E 'pam_(pwquality|tally2|faillock)' /etc/pam.d/system-auth /etc/pam.d/common-password 2>/dev/null
faillock --user <user>                      # 查看失败计数

# 2. 访问控制:最小权限、三权分立
cat /etc/sudoers; ls /etc/sudoers.d/
getent group wheel sudo adm

# 3. 安全审计:审计日志开启且不可删除
systemctl status auditd
auditctl -l
cat /etc/audit/audit.rules 2>/dev/null
cat /etc/audit/rules.d/*.rules 2>/dev/null
ausearch -m USER_LOGIN -ts today
aureport --summary

# 4. 入侵防范:最小服务、关闭高危端口
ss -tulnp
systemctl list-unit-files --state=enabled

# 5. 恶意代码防范
# 安装厂商提供的防病毒/主机加固 agent,检查运行状态
systemctl list-units | grep -iE 'edr|hids|antivirus|agent'

# 6. 数据完整性/保密性:国密算法
openssl version
openssl ciphers -v | grep -i sm

三权分立:等保要求系统管理员、安全管理员、审计管理员分离。国产系统通常通过厂商安全管理平台实现,命令行为:

# 查看当前账户的角色划分(以实际厂商实现为准)
cat /etc/passwd | grep -vE 'nologin|false'
getent group | grep -iE 'audit|secur|admin'

三权分立的具体实现(账户名、命令、图形入口)各厂商差异很大,且强绑定授权。合规配置应参照厂商《安全配置基线》文档执行,不要自行套用通用 Linux 方案。

8.3 国密算法

国产化环境常要求 SM2/SM3/SM4:

# 查看 OpenSSL 是否支持国密
openssl version
openssl ciphers -v | grep -iE 'sm2|sm3|sm4'
openssl ecparam -list_curves | grep -i sm2

# 生成 SM2 密钥(需国密版 OpenSSL,如铜锁 Tongsuo / 厂商定制版)
openssl genpkey -algorithm SM2 -out sm2.key
openssl pkey -in sm2.key -pubout -out sm2.pub

# SM3 摘要 / SM4 加密
echo -n "test" | openssl dgst -sm3
openssl enc -sm4-cbc -in plain.txt -out cipher.bin -K <hex-key> -iv <hex-iv>

标准 OpenSSL 1.1.1 起已内置 SM2/SM3/SM4,但国密 TLS 通信(SM2 双证书体系)需要国密版(Tongsuo、BabaSSL 或厂商定制)。做国密改造时,先确认中间件与数据库的国密支持情况,这是项目最大工作量所在。

8.4 信创迁移检查清单

# 1. 架构与系统
uname -m; cat /etc/os-release; uname -r

# 2. 依赖盘点(重点:Python 2、.so 二进制、x86 专用组件)
rpm -qa > /root/pkgs.txt 2>/dev/null || dpkg -l > /root/pkgs.txt
ldd /opt/app/bin/* 2>/dev/null | grep "not found"

# 3. 服务清单
systemctl list-unit-files --state=enabled

# 4. 网络与端口
ss -tulnp; ip a; ip r

# 5. 安全策略现状(决定迁移后应用是否被拦)
getenforce 2>/dev/null; aa-status 2>/dev/null
firewall-cmd --list-all 2>/dev/null

# 6. 中间件与数据库版本(国产化替代重点)
java -version 2>/dev/null
mysql --version 2>/dev/null; psql --version 2>/dev/null
nginx -v 2>/dev/null; redis-server -v 2>/dev/null

迁移最常见的四类失败:

  1. 架构不匹配:x86 的 jar 里的 native 库、预编译二进制在 ARM/龙芯上跑不了。
  2. Python 2 依赖:老运维脚本在只装 Python 3 的新系统上直接挂。
  3. 依赖库缺失:ldd 报 not found,多为跨架构的 .so。
  4. 安全策略拦截:SELinux/AppArmor/kysec 在国产系统上默认策略更严,应用需适配而非关闭。

附录 国产系统横向对照表

A.1 基础信息

系统 血统 包管理 init 安全模块 默认防火墙
统信 UOS Debian apt systemd AppArmor 视版本
麒麟 V10 服务器 RHEL 8 兼容 yum / dnf systemd SELinux + kysec firewalld
麒麟 V10 桌面 Debian apt systemd AppArmor + kysec 视版本
openEuler RHEL 系独立演进 dnf systemd SELinux firewalld
Anolis OS RHEL 8 兼容 dnf systemd SELinux firewalld
TencentOS Server RHEL 系 yum / dnf systemd SELinux firewalld
Deepin Debian apt + linglong systemd AppArmor 视版本
红旗 / 中标麒麟 RHEL 系 yum / dnf systemd SELinux firewalld / iptables

A.2 版本识别命令

系统 命令
统信 UOS cat /etc/uos-release / grep -i uniontech /etc/os-release
银河麒麟 cat /etc/kylin-release / nkvers
中标麒麟 cat /etc/neokylin-release / nkvers
openEuler cat /etc/openEuler-release
Anolis OS cat /etc/anolis-release
TencentOS cat /etc/tencentos-release / /etc/tlinux-release
Deepin cat /etc/deepin-version
红旗 cat /etc/redflag-release

A.3 常见运维操作对照

操作 Debian 系国产(UOS / 麒麟桌面 / Deepin) RHEL 系国产(麒麟服务器 / openEuler / Anolis / TencentOS)
刷新源 apt update dnf makecache
装包 apt install dnf install
本地包 dpkg -i rpm -ivh / dnf install ./x.rpm
反查命令属主 dpkg -S dnf provides */cmd
服务管理 systemctl systemctl
网络配置 nmcli / /etc/network/interfaces nmcli
防火墙 ufw / nftables firewall-cmd
安全模块 AppArmor(aa-status) SELinux(getenforce)+ kysec(麒麟)
系统日志 /var/log/syslog /var/log/messages
认证日志 /var/log/auth.log /var/log/secure

A.4 一句话记忆

  • 统信 UOS、Deepin、麒麟桌面 → 当 Debian 用,别加官方源。
  • 麒麟服务器、openEuler、Anolis、TencentOS、红旗 → 当 CentOS 用,注意 SELinux 实测。
  • 麒麟 → 先跑 nkvers,再看是 yum 还是 apt。
  • 国产化真正的难点不在命令,在架构适配、安全策略与中间件国产替代。

配套文档:《Ubuntu 常用运维指令手册》《CentOS 7-10 常规运维指令手册》《Linux 其他发行版运维指令手册》。 免责提示:国产商用发行版的厂商定制组件(激活、安全管理平台、补丁渠道)随版本与授权方式变化较大,涉及时请以厂商官方文档与实测为准。