要判断系统是 CentOS 还是 欧拉(OpenEuler 或 EulerOS),可以通过以下几种方法进行识别:
✅ 方法一:查看系统发行版信息文件
1. 查看 /etc/os-release 文件(推荐)
cat /etc/os-release
-
如果是 CentOS,输出中会包含:
NAME="CentOS Linux" PRETTY_NAME="CentOS Linux 7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" -
如果是 OpenEuler 或 EulerOS,输出中会包含:
NAME="openEuler" PRETTY_NAME="openEuler 20.03 LTS" ID="openEuler" VERSION_ID="20.03"
注意:华为 EulerOS 和社区版 openEuler 都会显示
ID=openEuler,细微差别可能在版本号或厂商信息。
2. 查看 /etc/redhat-release(仅适用于基于 RHEL 的系统)
cat /etc/redhat-release
-
CentOS 输出示例:
CentOS Linux release 7.9.2009 (Core) -
欧拉系统通常不会存在这个文件,或者内容为空/不存在。
⚠️ 注意:openEuler 不是 Red Hat 系,因此一般没有
/etc/redhat-release文件。
3. 查看 /etc/issue
cat /etc/issue
可能会看到类似:
openEuler release 20.03 LTS
或
CentOS Linux 7 (Core)
✅ 方法二:使用 hostnamectl 命令(systemd 系统)
hostnamectl
输出中会有 Operating System 字段:
-
示例(CentOS):
Operating System: CentOS Linux 7 (Core) -
示例(openEuler):
Operating System: openEuler 22.03 LTS
✅ 方法三:检查包管理器类型
CentOS 使用 yum 或 dnf(RPM 包管理系统):
rpm -q centos-release
# 或
yum --version
openEuler 也使用 yum/dnf + RPM,但发行版包不同:
rpm -q openeuler-release
- 如果返回类似
openeuler-release-22.03-lts.x86_64,说明是欧拉。 - 如果返回
centos-release-7-9.el7.centos.x86_64,则是 CentOS。
✅ 方法四:通过内核版本或启动信息辅助判断(非绝对)
虽然不能单靠内核判断,但可以辅助参考:
uname -r
- openEuler 内核版本可能带有
anolis、oe或特定华为补丁标识(视版本而定)。 - 例如:
5.10.0-60.oe2203.10.0.0.118.x86_64
而 CentOS 通常是标准的 Red Hat 内核命名:
- 例如:
3.10.0-1160.el7.x86_64
✅ 总结:快速判断脚本
你可以运行以下命令一键判断:
if grep -qi "openEuler|euleros" /etc/os-release 2>/dev/null; then
echo "系统是:欧拉 (openEuler/EulerOS)"
elif grep -qi "centos" /etc/os-release 2>/dev/null; then
echo "系统是:CentOS"
else
echo "无法识别系统类型"
fi
🔍 补充说明
- EulerOS:华为企业级商用版本,闭源或受限发布。
- openEuler:开源社区版本,任何人都可下载使用。
- 两者都源自 CentOS/RHEL 生态,但已独立发展,软件源、生命周期、工具链有所不同。
如有需要,也可以提供 cat /etc/os-release 的输出,我可以帮你具体判断。
CLOUD技术博