Как я могу программно определить, какие версии Ubuntu все еще поддерживаются?

11

Я писал скрипт и мне нужен был список всех поддерживаемых в настоящее время версий Ubuntu.

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

И это должно быть то, что работает на старых версиях Ubuntu, скажем, на любой поддерживаемой версии (lucid +) и т. Д.

Мартин Оуэнс -доктормо-
источник

Ответы:

11

Вы можете использовать launchpadlib, чтобы сделать это. Например, в Python:

#!/usr/bin/env python

from launchpadlib.launchpad import Launchpad

lp = Launchpad.login_anonymously('series-support-check')
for series in lp.projects['ubuntu'].series:
    print series.name, series.supported

Для получения дополнительной информации об API панели запуска обратитесь к справке по API веб-служб или справке по API .

Джереми Керр
источник
Кроме того, для ситуаций, когда вам нужна эта информация в автономном режиме, есть пакет distro-info . (В Lucid, Дистрибутив-инфо команды в Ubuntu-DEV-инструментов пакета.
перекати
7

Вы можете использовать анализ выходных данных ubuntu-support-status. В нем будет указано, какое программное обеспечение не поддерживается, и как долго поддерживаются другие. Например, службы LAMP поддерживаются на рабочем столе LTS в течение 5 лет, даже если сам рабочий стол поддерживается только в течение трех лет. Эта команда будет отражать это. Также будет показано, что пакеты из юниверса, мультиверса и т. Д. Вообще не поддерживаются.

Вот пример:

you@ubuntu:~$ ubuntu-support-status
Support status summary of 'ubuntu':

You have 1873 packages (89.5%) supported until October 2014 (18m)

You have 14 packages (0.7%) that can not/no-longer be downloaded
You have 206 packages (9.8%) that are unsupported

Run with --show-unsupported, --show-supported or --show-all to see more details
Джо-Эрленд Шинстад
источник
3

Чтобы поместить все поддерживаемые имена в список вместо их печати:

from launchpadlib.launchpad import Launchpad

launchpad = Launchpad.login_anonymously('series-support-check')
names = [ s.name for s in launchpad.distributions["ubuntu"].series if s.active ]
Arand
источник
Я не эксперт по Python, но добавляет ли это что-нибудь существенное к ответу Джереми?
Цезий
фильтр с последующей картой? Похоже, что понимание списка будет лучше: names = [ s.name for s in series_all if s.supported ]:)
Джереми Керр
Ну, он хранит прочь имена в вар вместо печати их, решил, что стоит отметить , так как я почесал свою собственную голову , а :) Да, JKS версия выглядит немного стройнее :)
Arand
-2

Это не трудно увидеть шаблон в датах выпуска. Если вы перейдете в Википедию , то увидите, что обычные выпуски поддерживаются в течение 1 1/2 года, а LTS (Долгосрочная поддержка, выпускаемая в апреле каждого года) - в течение 3 лет. Поскольку релиз выпускается каждые 6 месяцев (в апреле и октябре), на основе этой информации легко создать сценарий.

Томас
источник
3
Нет, это не так. Ubuntu - это одна операционная система, но разные пакеты поддерживаются в течение разных промежутков времени. Пакеты, которые используются в Ubuntu Server, поддерживаются в течение более длительного периода времени, даже если вы устанавливаете их в Ubuntu Desktop. Это означает, что вы должны знать, что, например, Python поддерживается на рабочем столе в течение 5 лет. Это не легко обнаружить, читая википедию. -1
Джо-Эрленд Шинстад
Кроме того, начиная с Ubuntu 13.04, все выпуски, не относящиеся к LTS, теперь имеют поддержку только в течение 9 месяцев вместо 18. Любая информация, основанная на текущем статусе, не предназначена для будущего
MestreLion