如何检查非测试版但可能不是 LTS 的发布更新?

如何检查非测试版但可能不是 LTS 的发布更新?

我有一个 cron 任务用于检查新版本。我想确保当新版本完成测试并准备安装时,它会给我发送电子邮件。我想升级到长期支持 (LTS) 版本和非 LTS 版本。是否有命令可以告诉我这样的版本可用?

我尝试使用do-release-upgrade -c -q,它告诉我有关新版本的信息除非我目前使用的是 LTS,下一个版本是不是长期支持服务, (如此处所述)。

我尝试使用do-release-upgrade -d -c -q。它告诉我有关非 LTS 版本的信息,但它也告诉我有关测试版的信息。例如,如果我现在使用它,它会告诉我它15.04可用,但实际上它尚未完全发布,(如此处所述)。

命令告诉我什么全部已完全发布的版本,无论是否是 LTS?

答案1

我仔细研究了 的代码do-release-upgrade。它似乎从http://changelogs.ubuntu.com/检查新版本。它会根据提供的命令行选项从那里下载不同的文件。适合我需要的文件是http://changelogs.ubuntu.com/meta-release

我没有看到任何可以让 do-release-upgrade 下载该文件的选项,但是使用一些命令行工具很容易做到:

currentrelease=`lsb_release -r | grep -oE '[0-9]{2}\.[0-9]{2}'`
availablerelease=`curl -s http://changelogs.ubuntu.com/meta-release | grep Version | tail -n 1 | grep -oE '[0-9]{2}\.[0-9]{2}'`
if [ "$currentrelease" != "$availablerelease" ]
then
    echo "New release '$availablerelease' available. To upgrade use:"
    echo "  sudo do-release-upgrade -d -f DistUpgradeViewNonInteractive"
fi

相关内容