如何确定我正在运行的RedHat
Linux版本?
以下是我读过的内容:
/etc/redhat-release
文件包含版本,但任何人都可以篡改该文件。uname
命令,但您可以在Redhat上安装任何内核。如果我正在运行redhat 5.1并且有人使用5.2或5.x升级它,那么什么决定了RedHat的版本?
甚至lsb_release -a
读取/ etc / redhat-release文件。
答案 0 :(得分:21)
尝试此命令:
rpm -qa | grep release
例如在我的机器上我得到了这个
红帽-RELEASE-工作站6Workstation-6.4.0.4.el6.x86_64
答案 1 :(得分:17)
如果“anybody”具有对您的计算机的root访问权限,无论是更改/ etc / redhat-release还是安装备用内核,您最有可能比确定系统的redhat版本更麻烦。
只需使用/ etc / redhat-release指出的值,或者在可移植性方面更好,使用lsb_release的输出,因为这正是它们的目的。
“任何人”都可以对你的系统做任何事情,根本没有其他机会。
答案 2 :(得分:5)
您可以在最近的Linux发行版上使用lsb_release命令。如果您发出:
lsb_release -i -r
或者
uname -r
并映射输出。 2.6.9内核是RHEL4,2.6.18内核是RHEL5。如有必要,您可以将完整版本映射到Red Hat的特定更新版本(即2.6.9-89是RHEL5 U4)。
答案 3 :(得分:4)
注意:since July 2012, /etc/os-release
应该是查找任何操作系统版本的标准文件。
- 它让那些只想知道他们正在运行的发行版的应用程序开发人员查看了大量的个人发布文件。
- 它既提供“漂亮”名称(即向用户显示的名称),也提供机器可分析版本/ OS标识符(即用于构建系统)。
- 可扩展,可根据需要轻松学习新字段。
见man page。
# cat /etc/os-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.0 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="7.0"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.0 (Maipo)"
答案 4 :(得分:2)
适用于众多Linux发行版的技巧:
cat /etc/issue
Red Hat 6上的示例:
$ cat /etc/issue
CentOS release 6.7 (Final)
Kernel \r on an \m
$
答案 5 :(得分:1)
最简单的命令是:
lsb_release -d
答案 6 :(得分:0)
尝试
uname -r
或
cat /etc/issue
最近的linux机器
lsb_release -d
答案 7 :(得分:0)
对于今天或将来正在阅读此书的人们:
正在运行的内核版本是您的RedHat版本。可能安装了其他版本,但未运行。
因此,如果在计算机上安装了RedHat 5.1、5.2和5.x,则一次只能运行1个。这是在系统启动uop时启动的版本。要确定实际运行的版本,请使用uname
命令:
uname -r
这将返回内核发行版号。
对于RedHat 5,它将是2.6.18- [something]
RH 5.1是2.6.18-53
RH 5.2是2.6.18-92
要将内核发行版号转换为Redhat版本号,请参见以下链接:
Red Hat Enterprise Linux Release Dates
答案 8 :(得分:0)
文件 /etc/redhat-release
是获取供应商版本(包括 5.X)的标准方法。我认为你不应该忽略这种方式。当然,您可以使用其他软件的各种技巧来显示当前的操作系统版本,但无论如何,它们中的许多都在解析 /etc 文件。如上所述,您可以使用 rpm 查询来获取版本。另一种获取此类信息的方法:rpm -q <vendor-name>-release
顺便说一句,我同意上面的评论者的观点,如果有人可以篡改标准的 /etc/redhat-release 文件或其他系统配置文件,那么您了解版本的方式是最少的问题。
此外,从 RHEL 7.X 版本开始,您还可以尝试 hostnamectl | grep 'Operating System'