所有托管服务节省 15%

测试技能,享折扣

使用代码: Skills 开始使用
China
Linux

如何检查 CentOS 版本:完整指南(所有方法)

准确了解服务器上运行的CentOS版本是任何系统管理员的基本技能。无论您是在安装兼容的软件包、排除系统问题、规划操作系统迁移还是管理安全更新,拥有准确的版本信息至关重要。幸运的是,CentOS提供了多个可靠的命令来检索这些数据——本指南详细介绍了所有这些命令。

为什么检查您的 CentOS 版本很重要

在深入了解命令之前,值得理解*为什么*版本意识在生产环境中如此重要:

  • 软件兼容性:许多软件包和依赖项与特定的 CentOS 主要版本或次要版本相关联。
  • 安全补丁:了解您的版本可以帮助您识别哪些 CVE 适用于您的系统以及哪些补丁可用。
  • 生命周期终止规划:CentOS 8 在 2021 年 12 月 31 日达到生命周期终止。如果您仍在运行它,您需要知道 — 并计划迁移。
  • 支持和故障排除:当开启支持工单或查阅文档时,版本信息始终是首先要求的内容之一。

如果您正在运行 VPS Hosting 环境或 Dedicated Server,跟踪您的操作系统版本是负责任的服务器管理中不可协商的一部分。

Method 1: Using the cat Command to Read /etc/os-release

This is the fastest and most straightforward method. CentOS stores its version information in a dedicated release file located at /etc/os-release.

Command:

cat /etc/os-release

Example output:

CentOS Linux 7 (Core)

This single line gives you the full version string, including the major version (7), the minor version (0), and the build tag (1908). This is the go-to command for a quick, human-readable version check and works on virtually every CentOS installation without any additional packages.

方法 2:使用 hostnamectl 获取系统和操作系统详情

hostnamectl 命令是一个 systemd 实用程序,提供系统的更广泛概览,包括操作系统名称、版本和内核。它在 CentOS 7 和 CentOS 8 上特别有用,这两者都是基于 systemd 的。

命令:

hostnamectl

示例输出:

   Static hostname: myserver.example.com
         Icon name: computer-vm
           Chassis: vm
        Machine ID: a1b2c3d4e5f6...
           Boot ID: f6e5d4c3b2a1...
    Virtualization: kvm
  Operating System: CentOS Linux 8 (Core)
       CPE OS Name: cpe:/o:centos:centos:8
            Kernel: Linux 4.18.0-305.el8.x86_64
      Architecture: x86-64

关注操作系统内核行。当您需要在单个命令中同时获取操作系统版本和内核版本时,此方法特别有价值,非常适合快速系统审计。

方法 3:查询 RPM 包数据库

由于 CentOS 是基于 RPM 的发行版,版本信息也嵌入在名为 centos-release 的已安装 RPM 包中。您可以使用 rpm 命令直接查询它。

命令:

rpm -q centos-release

示例输出:

centos-release-8.5-4.2111.el8.x86_64

此输出特别精确——它显示了确切的发布包版本,包括架构 (x86_64)。此方法在脚本编写场景中很有用,当您需要机器可解析的字符串或想要验证发布包本身的完整性时。

方法 4:读取 /etc/os-release 获取详细分发信息

/etc/os-release 文件是一个标准化文件,存在于几乎所有现代 Linux 发行版上。它提供关于操作系统的结构化键值信息,通常被脚本、配置管理工具(如 Ansible 或 Puppet)和容器运行时使用。

命令:

cat /etc/os-release

输出示例:

NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

这是信息最丰富的方法,也是自动化的首选方法。例如,VERSION_ID 字段可以在 shell 脚本中使用 grepawk 等工具轻松提取:

grep VERSION_ID /etc/os-release

输出:

VERSION_ID="8"

方法 5:使用 lsb_release(Linux Standard Base)

lsb_release 命令是 Linux Standard Base 规范的一部分,提供发行版识别数据。在 CentOS 上,它可能默认未安装,但可以轻松添加。

检查是否可用:

lsb_release -a

如果未安装,请使用以下命令添加:

sudo yum install -y redhat-lsb-core

安装后的示例输出:

LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 8.5.2111 (Core)
Release:        8.5.2111
Codename:       Core

虽然此方法需要额外的软件包,但结构化输出(特别是 Release 字段)对于需要在多个 Linux 发行版中保持兼容性的脚本很有用。

Method 6: Checking the Kernel Version with uname

The uname 命令报告内核信息。虽然它不直接报告 CentOS 版本,但内核版本字符串与特定的 CentOS 版本紧密相关,当发行版文件不可用或损坏时,可以用来交叉参考操作系统版本。

Command:

uname -r

Example output:

4.18.0-305.el8.x86_64

The el8 标签在内核字符串中确认这是一个 CentOS/RHEL 8 系统。如需更完整的系统概览,请使用:

uname -a

这在最小容器镜像或 chroot 环境中特别有用,其中 /etc/os-release 可能不存在。

快速参考:一览所有命令

以下是本指南中涵盖的所有方法的综合摘要:

命令显示内容需要额外的包?
cat /etc/centos-release完整版本字符串
hostnamectlOS 名称、版本、内核否(需要 systemd)
rpm -q centos-release精确的 RPM 发行版包
cat /etc/os-release结构化的 OS 元数据
lsb_release -aLSB 发行版信息是(redhat-lsb-core
uname -r内核版本

奖励:以编程方式提取版本

如果您正在编写shell脚本或使用配置管理工具,您可能希望干净地提取版本号。以下是两个实用的单行代码:

仅提取主版本号:

rpm -q --queryformat '%{VERSION}' centos-release

在发布文件上使用 awk

awk '{print $4}' /etc/centos-release

这些方法在VPS Control Panels上的自动配置脚本或跨多个服务器部署应用程序时特别有用。

CentOS 版本生命周期终止考虑事项

了解 CentOS 版本的当前支持状态很重要:

  • CentOS 6:生命周期终止 — 2020 年 11 月 30 日
  • CentOS 7:生命周期终止 — 2024 年 6 月 30 日
  • CentOS 8:生命周期终止 — 2021 年 12 月 31 日
  • CentOS Stream 8/9:滚动发布,积极维护中

如果您的版本检查显示您正在运行生命周期已终止的 CentOS 版本,您应该优先迁移到受支持的发行版,例如 AlmaLinux、Rocky Linux 或 CentOS Stream。运行不受支持的操作系统会使您的服务器暴露于未修补的漏洞中,这对面向互联网的基础设施特别危险。

在迁移或设置新的服务器环境时,考虑将您的部署与适当的 SSL 证书和已注册的 域名配对,以确保您的服务从第一天起既安全又专业可访问。

结论

检查您的 CentOS 版本是一项简单但必要的任务,每个系统管理员都应该能够轻松执行。有六种不同的方法可用——从读取发布文件到查询 RPM 数据库——无论您在什么环境或约束条件下工作,都有多个可靠的选项。

对于大多数用户来说,最好的方法是 cat /etc/centos-release,因为它简单易用,而 cat /etc/os-release 是脚本和自动化的首选。当您需要在单个命令中快速了解操作系统和内核信息时,请使用 hostnamectl

了解您的操作系统版本只是维护健康、安全和管理良好的服务器的第一步。无论您是在管理单个带有 cPanel 的 VPS还是监督一支专用服务器队伍,版本意识都是您将执行的所有其他管理任务的基础。