Как проверить наличие обновлений, которые не являются бета-версиями, но могут не быть LTS?

У меня есть работа cron, которая проверяет наличие новых выпусков. Я хочу убедиться, что он отправит мне электронное письмо, когда новая версия выйдет из бета-версии и готова к установке. Я хочу перейти на версии с долгосрочной поддержкой (LTS) и версии без LTS. Есть ли команда, которая скажет мне, что такой релиз доступен?

Я пытался использовать do-release-upgrade -c -q и это говорит мне о новом выпуске, если я в настоящее время не на LTS, и следующий выпуск не 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
Другие вопросы по тегам