Получить имя следующего выпуска кода из командной строки

lsb_release -c дает мне текущий выпуск, как из командной строки я могу определить следующий выпуск?

т.е. если lsb_release -c дает мне "утопию", как я могу определить, что следующий релиз является "ярким" из командной строки?

2 ответа

Решение

Менеджер обновлений разбирает 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}"

Это не должно ничего печатать, если вы используете последнюю версию, а название следующей версии еще не опубликовано.

Не существует надежного способа сделать это, но я написал нижеприведенную функцию, которая должна (в теории) продолжать работать вечно:

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 пакет установлен.

Конечно, это сломается, если изменится макет или схема представления страницы, но это лучший способ, который я могу себе представить.

Обратите внимание, что кодовое название следующего выпуска неизвестно в течение нескольких месяцев после последнего выпуска, возможно, оно еще не было принято. Однако эта функция должна все еще печатать версию.

Другие вопросы по тегам