发布于2026-08-22 阅读(0)
扫一扫,手机访问
准确获取系统详细版本号和补丁号需分两步:发行版版本用cat /etc/os-release(优先)或/etc/redhat-release等发行版特有文件,内核补丁号用uname -r;二者独立演进,必须分别查询。

要准确拿到“系统详细版本号 + 补丁号”,得拆成两件事看:发行版版本(比如 Ubuntu 22.04.4、CentOS 7.9.2009)和内核补丁号(比如 5.15.0-107-generic 中的 107)。单靠一个命令做不到全覆盖,必须组合使用。
/etc/os-release这是最标准、最可靠的方式,字段明确、跨发行版通用,脚本里也安全。
cat /etc/os-release 输出里重点看 PRETTY_NAME(如 "Ubuntu 22.04.4 LTS")和 VERSION_ID(如 "22.04"),但注意:它不保证含小版本(如 .4)——Ubuntu 和 Debian 通常会写全,RHEL/CentOS 7 默认只写 "7",实际补丁号藏在别的地方source /etc/os-release && echo "$PRETTY_NAME",避免文本解析出错/etc/os-release 不存在(老系统或极简容器),说明不是现代发行版,得 fallback 到发行版特有文件/etc/redhat-release 或 /etc/debian_version这些文件记录的是安装时的实际镜像版本,比 /etc/os-release 更“原始”也更具体。
cat /etc/redhat-release,输出类似 CentOS Linux release 7.9.2009,其中 7.9.2009 就是完整 ISO 版本号,2009 是构建年月,不是补丁号但代表更新程度cat /etc/debian_version 给出纯数字版本(如 12.5),再结合 lsb_release -a 的 Description 行确认是否含 LTS 或点版本/etc/issue 可能含转义字符(如 n),直接 cat 会乱码,建议用 sed 's/\[nr]//g' /etc/issue 清理后再看uname -r,别信 hostnamectl 的 Kernel 行hostnamectl status 显示的 Kernel 字段只是内核版本字符串的截取,可能被 systemd 截断或省略构建信息,不可靠。
uname -r,输出如 6.8.0-45-generic,其中 45 就是该内核包的补丁序号(Ubuntu/Debian),对应安全更新轮次3.10.0-1160.122.2.el7.x86_64,最后的 122.2 是补丁集编号,el7 表示 RHEL 7 构建分支rpm -q kernel(RHEL/CentOS)或 dpkg -l | grep linux-image(Ubuntu/Debian),看已安装的内核包列表真正棘手的地方在于,发行版版本号和内核补丁号是两条各自独立发展的线。比如说,你安装的是CentOS 7.6 ISO,之后通过yum update将内核升级到了3.10.0-1160.122.2.el7,那么系统的“发行版版本”依旧是7.6,而“内核补丁”则变成了122.2——这两个数字彼此独立,必须分别查询、分别理解。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9