我正在检查 Redhat 版本,因此这次我使用了三个不同的命令。两个命令给出相同的结果,但第三个命令给出不同的结果。哪一个是对的。
[root@DBtest2 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 4 (Tikanga)
[root@DBtest2 ~]# /usr/bin/lsb_release --d
Description: Red Hat Enterprise Linux Server release 4 (Tikanga)
[root@DBtest2 ~]# cat /etc/issue
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Kernel \r on an \m
答案1
我更倾向于 redhat 版本。您可以使用该rpm -q --whatprovides
命令来确定所提供的包的名称/etc/redhat-release
。
[tim@c5 ~]$ rpm -q --whatprovides /etc/redhat-release
centos-release-5-5.el5.centos
如果您不相信这一点,那么您可以查看包裹的详细信息。注意Version
和Release
。
[tim@c5 ~]$ rpm -qi --whatprovides /etc/redhat-release
Name : centos-release Relocations: (not relocatable)
Version : 5 Vendor: CentOS
Release : 5.el5.centos Build Date: Sun 25 Apr 2010 04:25:31 PM PDT
Install Date: Thu 20 May 2010 04:07:47 PM PDT Build Host: builder10.centos.org
Group : System Environment/Base Source RPM: centos-release-5-5.el5.centos.src.rpm
Size : 35485 License: GPL
Signature : DSA/SHA1, Mon 26 Apr 2010 04:40:57 PM PDT, Key ID a8a447dce8562897
Summary : CentOS release file
Description :
CentOS release files
如果您仍然不相信您所看到的,您可以尝试查看
[tim@c5 etc]# rpm -qai | grep Release | awk -F' ' '{print $3}' | head -15
23.2.2
24.20060715
1.el5
35.el5
32.2.1.1
4
2.fc6
45.el5.centos
4.el5
1
2.el5
0.1
5.el5
1.el5
15.el5
希望您在搜索所有包信息时能找到某种模式来回答您的问题。
祝你好运。
更新#1:
您还可以尝试:
[tim@c6 ~]# rpm -q --whatrequires \
$(rpm -ql \
$(rpm -q --whatprovides /etc/redhat-release)
) | grep -v ' '
initscripts-9.03.27-1.el6.centos.x86_64
更新#2:
我想确保我在第一次更新中提供的命令正常工作,因此我在 AWS 上启动了一个 RHEL5 实例。看起来确实有效。
[root@ip-10-172-23-67 ~]# rpm -q --whatrequires \
> $(rpm -ql \
> $(rpm -q --whatprovides /etc/redhat-release)
> ) | grep -v ' '
initscripts-8.45.30-3.el5_5.1
答案2
也许您可以执行以下操作之一:
% cat /proc/version
Linux version 2.6.35.14-106.fc14.x86_64 ([email protected]) (gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC) ) #1 SMP Wed Nov 23 13:07:52 UTC 2011
-或者-
uname -a
Linux grinchy 2.6.35.14-106.fc14.x86_64 #1 SMP Wed Nov 23 13:07:52 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux