如何快速判断服务器系统是CentOS还是Ubuntu
结论:通过检查系统版这里件、包管理器类型或系统命令输出,可以快速准确区分CentOS和Ubuntu系统。
一、核心识别方法
1. 检查系统版这里件
- CentOS:查看
/etc/centos-release或/etc/redhat-release文件cat /etc/centos-release # 示例输出:CentOS Linux release 7.9.2009 (Core) - Ubuntu:查看
/etc/os-release或/etc/lsb-release文件cat /etc/os-release # 示例输出:NAME="Ubuntu" VERSION="20.04 LTS"关键点:CentOS有专属版这里件,而Ubuntu依赖通用Linux发行版标识文件。
2. 通过包管理器区分
- CentOS:使用
yum或dnf(RHEL系)which yum # 存在则为CentOS/RHEL - Ubuntu:使用
apt或dpkg(Debian系)which apt # 存在则为Ubuntu/Debian关键点:包管理器是区分Linux发行版的最直接标志。
3. 使用系统命令
-
hostnamectl命令(通用方法):hostnamectl | grep "Operating System"- CentOS输出示例:
Operating System: CentOS Linux 7 - Ubuntu输出示例:
Operating System: Ubuntu 20.04 LTS
- CentOS输出示例:
-
uname -a补充信息(辅助验证内核版本):uname -a # 显示内核信息,但无法直接区分发行版
二、其他辅助方法
1. 检查默认软件仓库
- CentOS的仓库地址通常包含
centos或redhat:cat /etc/yum.repos.d/CentOS-Base.repo - Ubuntu的仓库地址包含
ubuntu:cat /etc/apt/sources.list
2. 查看系统日志或进程
- CentOS默认使用
rsyslog或journalctl(Systemd):systemctl status rsyslog - Ubuntu可能使用
apparmor等特有服务:systemctl status apparmor
3. 文件系统布局差异
- CentOS的
/etc/init.d/目录保留传统SysV脚本。 - Ubuntu可能更依赖
/lib/systemd/(Systemd主导)。
三、总结与建议
- 最快方法:
cat /etc/os-release(通用)或检查包管理器(yumvsapt)。
- 注意事项:
- 云服务器可能自定义镜像,需结合多个方法验证。
- 避免依赖单一命令(如
uname -a仅显示内核,不区分发行版)。
最终结论:通过/etc/os-release文件和包管理器类型,可100%准确区分CentOS和Ubuntu。若需脚本自动化,推荐以下命令:
grep -E '^NAME=' /etc/os-release | awk -F'"' '{print $2}'
输出结果为CentOS Linux或Ubuntu即可明确系统类型。
CLOUD云计算