如何确定 CentOS 版本?

Phi*_*ayo 130 version centos

如何在没有访问任何图形界面的情况下确定 CentOS 服务器的版本?我尝试了几个命令:

# cat /proc/version
Linux version 2.6.18-128.el5 (mockbuild@hs20-bc1-7.build.redhat.com)
(gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)) …

# cat /etc/issue
Red Hat Enterprise Linux Server release 5.3 (Tikanga)
Run Code Online (Sandbox Code Playgroud)

但哪一个是正确的:4.1.2-4 from/proc/version或 5.3 from /etc/issue

h3r*_*ler 175

在像 CentOS 这样的情况下,实际版本通常放在/etc/*elease.

cat /etc/*elease
Run Code Online (Sandbox Code Playgroud)

授予此文件通常包含整个操作系统的版本减去内核(因为您可以选择加载哪个)。此文件将具有与 /etc/issue 相同的信息,但使用 CentOS 而不是 RedHat

  • 我不使用“R”的原因是因为在某些情况下,“release”中的“R”是大写的。 (9认同)
  • 这是对的。我发现在许多站点上,`/etc/issue` 已被 MOTD 或安全免责声明覆盖,以便与 `sshd_config` 中的 `Banner` 选项一起使用 (2认同)

Ren*_*nan 43

正如您在 中看到的/etc/issue,您使用的是 CentOS 5.3。(它说 Red Hat,因为 CentOS 基于 RH 源,并且一些软件会检查/etc/issue以识别正在使用的发行版;因此,如果将其更改为 CentOS,它们将失败)。

4.1.2-4/proc/version指的版本,gcc用于构建内核的C编译器。

  • 在 CentOS 7 上,'cat /etc/issue' 产生 gobbledygook: `\S Kernel \r on an \m` (18认同)
  • 正确答案应该是 h3rmiller...`cat /etc/*elease`。`/etc/issue` 经常被组织的 MOTD/disclaimer 取代 (11认同)
  • 我只是补充一下,您可以使用 uname -a 来检测它是否兼容 32 位或 64 位。 (3认同)

lza*_*zap 21

找到主要版本的 CentOS(5 或 6 等)的最可靠方法是:

# rpm -q --queryformat '%{VERSION}' centos-release
6
Run Code Online (Sandbox Code Playgroud)

对于 RHEL,请执行以下操作:

# rpm -q --queryformat '%{RELEASE}' redhat-release-server | awk -F. '{print $1}'
7
Run Code Online (Sandbox Code Playgroud)

没有lsb_release 或其他工具的情况下找出版本的唯一便携方法是:

# grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release
6.5
Run Code Online (Sandbox Code Playgroud)

  • 可以简化为:`cat /etc/redhat-release | grep -o '[0-9]\.[0-9]'` (3认同)

小智 13

您可以通过调用以下命令来确定它:

hostnamectl
Run Code Online (Sandbox Code Playgroud)

它将返回如下:

Static hostname: mgbcctli01
     Icon name: computer-vm
       Chassis: vm
    Machine ID: de14d80a0900427894dbcf6137e058e7
       Boot ID: 6865f9839c064bc9be32281d0f262cc8
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
   CPE OS Name: cpe:/o:centos:centos:7
        Kernel: Linux 3.10.0-514.2.2.el7.x86_64
  Architecture: x86-64
Run Code Online (Sandbox Code Playgroud)

您还可以使用rpm来查找有关 CentOS 版本的详细信息:

rpm --query centos-release
Run Code Online (Sandbox Code Playgroud)

在我的情况下将返回:

centos-release-7-3.1611.el7.centos.x86_64
Run Code Online (Sandbox Code Playgroud)


gen*_*a2x 6

正确的方法是lsb_release -d

  • 在 CentOS 7 上:lsb_release:找不到命令。 (9认同)
  • 当然,但我的意思是:我不确定必须安装新软件包以获得当前版本是否有价值。 (8认同)

Dan*_*nin 6

真实可靠的(短)的方式获得任何的CentOS的主要版本或RHEL是:

rpm -E %{rhel}
Run Code Online (Sandbox Code Playgroud)

会给你一个值 eg 6, 7, or 8(现在 RHEL 8 已经出来了)。


小智 5

# echo "I am running: `cat /etc/redhat-release` (`arch`)"
Run Code Online (Sandbox Code Playgroud)

输出以下内容:

I am running: CentOS release 6.7 (Final) (x86_64)
Run Code Online (Sandbox Code Playgroud)