我想知道有没有一种方法可以在JVM内部确定我正在运行哪个版本的Linux(即区分RHEL4、RHEL5)。我只是寻找一种区分操作系统及其版本的一致性方法。
System.getProperty()
"os.name" // OS name
"os.arch" // OS architecture
"os.version" // OS version
我认为没有任何系统属性可以提供这些信息。您可以执行cat /proc/version
命令并解析输出来获取相关信息。
你正在运行哪个版本的发行版或内核版本?我知道Red Hat曾经将他们的版本号保存在一个名为/etc/redhat-release的文件中。对于其他发行版,我不确定。您可以通过对“uname -r”进行系统调用来获取内核版本。
/prov/version
是一个不错的起点。 /etc/issue
也可能会有所帮助。
您也可以查看lsb_release。
lsb_release -a
会给你类似这样的东西:
cyril@merlin:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 8.10
Release: 8.10
Codename: intrepid