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



我正在开发java Web应用程序,其中的逻辑会根据操作系统版本而有所不同。

目前,我们在 Ubuntu 12.04 和 Ubuntu 10 上部署了我们的应用程序。Web应用程序允许通过其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部分?

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

只运行

lsb_release --release --short

将返回 ubuntu 版本号

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

lsb_release -a|grep Release|cut -f2

最新更新