通过命令行获取下一个发布代号

通过命令行获取下一个发布代号

lsb_release -c给了我当前版本,如何从命令行确定下一个版本?

即如果lsb_release -c给我“utopic”,我如何从命令行确定下一个版本是“vivid”?

答案1

更新管理器解析meta-release*来自的文件http://changelogs.ubuntu.com确定是否有新版本可供升级。我们可以使用http://changelogs.ubuntu.com/meta-release-development以此目的:

wget -qO - http://changelogs.ubuntu.com/meta-release-development |
  awk '/^Dist:/ {print $2}' |
  awk "p{print; exit} /$(lsb_release -sc)/{p=1}"

如果您使用的是最新版本并且下一个版本的名称尚未发布,则这应该不会打印任何内容。

答案2

没有可靠的方法来做到这一点,但我已经写了下面的函数应该(理论上)永远继续工作:

function nxt_release() {
    curl -s http://cdimage.ubuntu.com/daily-live/current/ | grep \<h1\> | sed -e 's/<[^>]*>//g' -e s/'[Dd]aily [Bb]uild'/''/g
}  

将其添加到您的.bashrc文件中并运行

source .bashrc  

然后你可以这样调用它:

nxt_release  

它会打印下一个 Ubuntu 版本。请确保您已curl安装该软件包。

当然,如果页面的布局或呈现方案发生变化,这将会中断,但这是目前我能想到的最好的方法。

请注意,下一个版本的代号在上一版本发布后几个月内都无法得知,可能尚未确定。不过,此功能仍应打印版本。

相关内容