如何快速区分系统是Ubuntu还是CentOS
结论:通过检查系统发行版信息文件、包管理工具或系统命令,可以快速准确判断当前系统是Ubuntu还是CentOS。
一、查看系统发行版信息文件
Linux系统通常会在特定文件中记录发行版信息,这是最直接的方法:
-
Ubuntu:查看
/etc/os-release或/etc/lsb-release文件cat /etc/os-release输出示例:
NAME="Ubuntu" VERSION="20.04 LTS (Focal Fossa)" -
CentOS:查看
/etc/redhat-release或/etc/centos-release文件cat /etc/redhat-release输出示例:
CentOS Linux release 7.9.2009 (Core)
关键点:
- Ubuntu使用
/etc/os-release,CentOS使用/etc/redhat-release - 如果文件不存在,可能是其他发行版(如Debian、Fedora等)
二、通过包管理工具判断
Ubuntu和CentOS使用不同的包管理工具,这也是重要区分依据:
-
Ubuntu:使用
apt或dpkgwhich apt # 如果返回路径(如/usr/bin/apt),则是Ubuntu -
CentOS:使用
yum或dnf(CentOS 8+)which yum # 如果返回路径(如/usr/bin/yum),则是CentOS
关键点:
- Ubuntu用
apt,CentOS用yum或dnf - 如果两个命令都不存在,可能是其他Linux发行版
三、使用系统命令查询
Linux提供了一些通用命令来查询系统信息:
-
hostnamectl命令(推荐)hostnamectl输出示例(Ubuntu):
Operating System: Ubuntu 20.04 LTS输出示例(CentOS):
Operating System: CentOS Linux 7 (Core) -
lsb_release命令(Ubuntu常见)lsb_release -a输出示例:
Distributor ID: Ubuntu Description: Ubuntu 20.04 LTS -
uname -a(查看内核信息,辅助判断)uname -a虽然不能直接区分发行版,但可以结合其他方法使用。
关键点:
hostnamectl是最通用的方法,适用于大多数现代Linux系统lsb_release在Ubuntu上更常见,CentOS可能需要额外安装
四、总结:推荐方法
- 首选
/etc/os-release或/etc/redhat-release文件(最准确) - 其次使用
hostnamectl命令(兼容性强) - 最后检查包管理工具(
aptvsyum)(辅助验证)
最终结论:
- 如果是Ubuntu,
/etc/os-release会显示"Ubuntu",且默认使用apt - 如果是CentOS,
/etc/redhat-release会显示"CentOS",且默认使用yum或dnf
通过以上方法,你可以快速、准确地判断当前系统是Ubuntu还是CentOS。
CLOUD云计算