【翻译】如何检查 centos 版本信息

原文地址: https://www.thegeekdiary.com/how-to-check-centos-version/

有一些时候我需要了解当前的 Linux 服务的系统版本信息,来帮助我们排查一些问题。这篇文章将会介绍几个技巧来查看当前系统版本信息,总的来说有两种思路:

  • 通过系统更新版本来了解系统信息
  • 通过内核运行版本来了解系统信息

检查系统更新版本

在 RedHat/Centos 上有4个文件提供了信息的版本信息

  • /etc/centos-release
  • /etc/os-release
  • /etc/redhat-release
  • /etc/system-release
    他们的内容如下
    1
    2
    [licong@analysis01 ~]$ cat /etc/centos-release
    CentOS Linux release 7.2.1511 (Core)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[licong@analysis01 ~]$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
1
2
[licong@analysis01 ~]$ cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
1
2
[licong@analysis01 ~]$ cat /etc/system-release
CentOS Linux release 7.2.1511 (Core)

还可以通过 rpm 查询某个文件的版本信息

1
2
[licong@analysis01 ~]$ rpm -qf /etc/redhat-release
centos-release-7-2.1511.el7.centos.2.10.x86_64

从上我们可以看出当前信息是 centos7.2 版本

检查系统内核运行版本

可以使用一些命令行工具查看系统内核版本信息,比如: uname

1
2
[licong@analysis01 ~]$ uname -s -r
Linux 3.10.0-514.26.2.el7.v7.4.qihoo.x86_64

1
2
[licong@analysis01 ~]$  uname -a
Linux analysis01.hellojukay.cn 3.10.0-514.26.2.el7.v7.4.qihoo.x86_64 #1 SMP Mon Jul 24 15:20:32 CST 2017 x86_64 x86_64 x86_64 GNU/Linux

获取内核的编译时间

1
2
[licong@analysis01 ~]$ uname -v
#1 SMP Mon Jul 24 15:20:32 CST 2017

检查 centos7 的版本

在 centos7 中安装有 hostnamectl 命令,他能直接打印出当前信息的各项信息

1
2
3
4
5
6
7
8
9
10
11
[licong@analysis01 ~]$ hostnamectl
Static hostname: analysis01.hellojukay.cn
Icon name: computer-vm
Chassis: vm
Machine ID: b0f27015898562886512ed8dba42c837
Boot ID: 161bb64ac32747e0802ab83c5ce82910
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-514.26.2.el7.v7.4.qihoo.x86_64
Architecture: x86-64

检查 LSB 信息

我们可以通过 lsb_release 命令来检查当前的 LSB 信息,如果没有安装的化,通过如下命令安装:

1
yum install redhat-lsb

使用方式如下:

1
2
3
4
5
6
[licong@analysis01 ~]$ sudo lsb_release  -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.2.1511 (Core)
Release: 7.2.1511
Codename: Core

通过 GRUB 信息检查版本

在 centos7 中

1
2
3
4
[licong@analysis01 ~]$ sudo  cat /boot/grub2/grub.cfg | grep -w menuentry
menuentry 'CentOS Linux (3.10.0-514.26.2.el7.v7.4.qihoo.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.22.2.el7.ttm.x86_64-advanced-0e608764-54ca-485e-a69d-14401577e07b' {
menuentry 'CentOS Linux (3.10.0-327.22.2.el7.ttm.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.22.2.el7.ttm.x86_64-advanced-0e608764-54ca-485e-a69d-14401577e07b' {
menuentry 'CentOS Linux (0-rescue-b0f27015898562886512ed8dba42c837) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-b0f27015898562886512ed8dba42c837-advanced-0e608764-54ca-485e-a69d-14401577e07b' {
1
2
[licong@analysis01 ~]$ sudo grep saved_entry /boot/grub2/grubenv
saved_entry=CentOS Linux (3.10.0-514.26.2.el7.v7.4.qihoo.x86_64) 7 (Core)

在 centos6 中

1
2
3
# cat /boot/grub/grub.conf | grep title
title CentOS (2.6.32-696.20.1.el6.x86_64)
title CentOS (2.6.32-696.18.7.el6.x86_64)