要确认服务器主机安装的是 Ubuntu 还是 CentOS,可以通过以下几种常用方法快速判断:
1. 查看发行版信息文件(推荐)
大多数 Linux 发行版都在 /etc/ 目录下提供版本标识文件。
cat /etc/os-release
- Ubuntu:输出中包含
ID=ubuntu、ID_LIKE=debian等字段。 - CentOS:输出中包含
ID=centos或ID_LIKE=rhel,且PRETTY_NAME通常显示 "CentOS Linux" 或 "CentOS Stream"。
注意:CentOS 8 及以后版本已转向 CentOS Stream,但 ID 仍为
centos;而旧版 CentOS 7 同样使用ID=centos。
2. 查看特定版本文件
某些系统有专门的版本文件:
# 对于 Debian/Ubuntu 系
cat /etc/issue
cat /etc/lsb-release
# 对于 RHEL/CentOS 系
cat /etc/redhat-release
- Ubuntu:
/etc/issue通常包含 "Ubuntu",/etc/lsb-release存在且含DISTRIB_ID=Ubuntu。 - CentOS:
/etc/redhat-release存在,内容如CentOS Linux release 7.9.2009 (Core)。
3. 使用命令工具(如果已安装)
部分系统预装了检测工具:
# 通用方法(需 lsb_release 包,Ubuntu 默认安装,CentOS 需手动安装)
lsb_release -a
# 或直接检查包管理器类型
which apt # 若存在 → Ubuntu/Debian
which yum # 若存在 → CentOS/RHEL(yum 在 CentOS 7 及以下)
which dnf # 若存在 → CentOS 8+ 或 Fedora
快速判断示例
| 命令 | Ubuntu 输出特征 | CentOS 输出特征 |
|---|---|---|
cat /etc/os-release |
ID=ubuntu |
ID=centos 或 ID=rhel |
cat /etc/redhat-release |
文件不存在 | 存在,如 CentOS Linux release... |
cat /etc/issue |
Ubuntu ... |
CentOS Linux ... |
which apt |
返回路径 | 无输出 |
which yum |
无输出 | 返回路径(CentOS 7 及以下) |
💡 提示:现代环境中,优先使用
cat /etc/os-release,因为它兼容性强且标准化程度高,适用于绝大多数 Linux 发行版。
如需进一步自动化判断,可编写脚本解析该文件中的 ID= 字段即可。
PHPWP博客