如何查看主机操作系统是欧拉还是CentOS
结论先行:要快速区分主机运行的是欧拉(openEuler)还是CentOS操作系统,可通过检查/etc/os-release
文件内容、使用hostnamectl
命令或运行cat /etc/centos-release
命令进行确认。欧拉和CentOS有显著不同的发行版标识信息。
常用检查方法
方法1:检查/etc/os-release文件
cat /etc/os-release
- 欧拉系统会显示包含"openEuler"的标识
- CentOS系统会显示"CentOS Linux"或"CentOS Stream"
方法2:使用hostnamectl命令
hostnamectl
- 输出中的"Operating System"行会明确显示系统类型
方法3:检查CentOS特有文件
cat /etc/centos-release # 仅CentOS存在此文件
- 如果文件存在且显示版本信息,则是CentOS
- 欧拉系统没有此文件
关键区分特征
-
欧拉系统标识特征:
/etc/os-release
中包含NAME="openEuler"
- 通常会有
ID="openEuler"
的配置项 - 版本信息可能包含"Euler"或"openEuler"字样
-
CentOS系统标识特征:
/etc/os-release
中NAME="CentOS Linux"
或NAME="CentOS Stream"
- 存在
/etc/centos-release
文件 - 版本信息明确包含"CentOS"字样
其他辅助方法
查看内核信息
uname -a
- 欧拉系统内核可能包含"euler"字样
- CentOS内核通常显示"el7"、"el8"等(RHEL兼容内核标识)
检查安装的软件包
rpm -qa | grep -i euler # 查找欧拉相关包
rpm -qa | grep -i centos # 查找CentOS相关包
自动化检测脚本示例
#!/bin/bash
if [ -f /etc/os-release ]; then
source /etc/os-release
if [[ "$NAME" == *"openEuler"* ]]; then
echo "系统是 openEuler 版本: $VERSION"
elif [[ "$NAME" == *"CentOS"* ]]; then
echo "系统是 CentOS 版本: $VERSION"
else
echo "未知系统: $NAME"
fi
elif [ -f /etc/centos-release ]; then
echo "系统是 CentOS: $(cat /etc/centos-release)"
else
echo "无法确定系统类型"
fi
最终建议:对于生产环境,推荐同时使用多种方法交叉验证,特别是检查/etc/os-release
和/etc/centos-release
这两个最可靠的文件,以避免单一方法的误判。欧拉作为国产操作系统,其标识信息与CentOS有本质区别,通过系统文件内容可以明确区分。