我正在研究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
部分?
答案 0 :(得分:1)
尝试命令lsb-release
,它应该返回发行版的发行版。您应该能够从输出中提取版本。
仅运行
lsb_release --release --short
将返回ubuntu版本号
答案 1 :(得分:1)
您可以通过以下方式获取操作系统版本:
lsb_release -a|grep Release|cut -f2