以编程方式检测当前Ubuntu版本是否低于或高于Ubuntu 12.04

时间:2013-01-28 09:56:01

标签: java ubuntu-12.04 network-interface

我正在研究java web应用程序,其中逻辑将根据os版本而有所不同。

目前我们在Ubuntu 12.04和Ubuntu 10上部署我们的应用程序.Web App允许通过其UI更改DNS名称服务器。部署在Ubuntu 10中的应用程序将DNS名称服务器保留在etc/resolv.conf上,但Ubuntu 12.04将它们保留在etc/network/interfaces

存储DNS名称服务器时,逻辑就像

if(ubuntuVersion < ubuntu 12.04) then
    store it in etc/resolv.conf
else
    store it in etc/network/interfaces.

System.getProperty("os.name")System.getProperty("os.arch")或任何其他系统属性不会输出Ubuntu包信息。

如何实施if部分?

2 个答案:

答案 0 :(得分:1)

尝试命令lsb-release,它应该返回发行版的发行版。您应该能够从输出中提取版本。

仅运行

lsb_release --release --short

将返回ubuntu版本号

答案 1 :(得分:1)

您可以通过以下方式获取操作系统版本:

lsb_release -a|grep Release|cut -f2