如何在不访问任何图形界面的情况下确定 CentOS 服务器的版本?我尝试了几个命令:
# cat /proc/version
Linux version 2.6.18-128.el5 ([email protected])
(gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)) …
# cat /etc/issue
Red Hat Enterprise Linux Server release 5.3 (Tikanga)
但哪一个是正确的:4.1.2-4 from/proc/version
或 5.3 from /etc/issue
?
答案1
在像 CentOS 这样的情况下,实际版本通常放在/etc/*elease
.
cat /etc/*elease
当然,此文件通常保存整个操作系统减去内核的版本(因为您可以选择加载哪个版本)。该文件将具有与 /etc/issue 相同的信息,但使用 CentOS 而不是 RedHat
答案2
正如您在 中看到的/etc/issue
,您使用的是 CentOS 5.3。 (之所以说 Red Hat,是因为 CentOS 基于 RH 源,并且一些软件会检查/etc/issue
以识别正在使用的发行版;因此,如果将其更改为 CentOS,它们就会失败)。
in指的是用于构建内核的 C 编译器4.1.2-4
的/proc/version
版本。gcc
答案3
这最可靠的方式的发现主要的CentOS 版本(5 或 6 等)是:
# rpm -q --queryformat '%{VERSION}' centos-release
6
对于 RHEL,请执行以下操作:
# rpm -q --queryformat '%{RELEASE}' redhat-release-server | awk -F. '{print $1}'
7
查找版本的唯一便携式方法没有lsb_release 或其他工具是:
# grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release
6.5
答案4
正确的做法是lsb_release -d
。