最推荐使用cat /etc/os-release命令,通过NAME和VERSION_ID字段准确识别发行版及版本号;其次可选lsb_release -a、/etc/redhat-release等文件,uname和/proc/version仅作辅助验证。
如果您需要确认当前运行的Linux系统具体属于哪个发行版及其版本号,例如区分CentOS、Ubuntu或其他发行版,并获取精确的版本标识,则需依据不同发行版提供的标准化文件或命令进行查询。以下是多种可靠且兼容性强的查询方法:
一、读取 /etc/os-release 文件
该文件是Linux标准基础(LSB)定义的通用发行版信息源,适用于几乎所有现代发行版(包括CentOS 7+、Ubuntu 16.04+、Debian 8+、Fedora、Oracle Linux等),内容结构化、字段明确,是最推荐的首选方式。
1、在终端中执行:cat /etc/os-release
2、查看输出中的 NAME 字段确认发行版名称,VERSION_ID 或 VERSION 字段获取主版本号,PRETTY_NAME 提供完整可读标识。
3、例如 CentOS 8 输出中将包含 NAME=”CentOS Linux” 和 VERSION=”8″;Ubuntu 22.04 则显示 NAME=”Ubuntu” 与 VERSION_ID=”22.04″。
二、使用 lsb_release 命令
lsb_release 是 LSB(Linux Standard Base)规范提供的专用工具,能以统一格式输出发行版识别信息,但需确保对应软件包已安装,部分最小化安装系统默认未包含该命令。
1、检查是否可用:lsb_release –version
2、若提示未找到命令,在CentOS/RHEL系中运行:sudo yum install -y redhat-lsb-core
3、在Ubuntu/Debian系中运行:sudo apt update && sudo apt install -y lsb-release
4、执行完整信息查询:lsb_release -a
5、重点关注 Distributor ID(如 Ubuntu 或 CentOS)和 Description(如 Ubuntu 20.04.6 LTS 或 CentOS Linux release 7.9.2009)。
三、检查发行版专属释放文件
各主流发行版通常维护独立的版本标识文件,路径固定、内容简洁,适合脚本快速解析或在 lsb_release 不可用时作为后备方案。
1、对于 CentOS、RHEL、Oracle Linux 等 Red Hat 衍生版,执行:cat /etc/redhat-release