Как проверить наличие обновлений, которые не являются бета-версиями, но могут не быть 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