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

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

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

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

11
задан 3 February 2012 в 22:27

4 ответа

Вы можете использовать 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.

11
ответ дан 25 May 2018 в 19:36
  • 1
    Кроме того, для ситуаций, когда вам нужна эта информация в автономном режиме, есть пакет distro-info . (В lucid команды distro-info находятся в пакете ubuntu-dev-tools . – tumbleweed 12 April 2013 в 16:47

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

Вот пример:

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
7
ответ дан 25 May 2018 в 19:36

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

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 ]
3
ответ дан 25 May 2018 в 19:36
  • 1
    Я не эксперт Python, но добавляет ли это что-то важное в ответ Джереми? – Caesium 3 February 2012 в 22:18
  • 2
    фильтр, за которым следует карта? Похоже, что понимание списка было бы лучше: names = [ s.name for s in series_all if s.supported ] :) – Jeremy Kerr 7 February 2012 в 09:41
  • 3
    Ну, он хранит имена в var вместо того, чтобы печатать их, полагал, что стоит упомянуть, так как я немного поцарапал себе голову :) Да, версия JKs выглядит немного стройнее :) – arand 24 February 2012 в 23:14

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

-2
ответ дан 25 May 2018 в 19:36
  • 1
    Нет, это не так. Ubuntu - это одна операционная система, но разные пакеты поддерживаются в течение различных периодов времени. Пакеты, которые используются в Ubuntu Server, поддерживаются в течение более длительного периода времени, даже если вы устанавливаете их в Ubuntu Desktop. Это означает, что вам нужно знать, что Python поддерживается в течение 5 лет на рабочем столе, например. Это не легко обнаружить, читая википедию. -1 – Jo-Erlend Schinstad 29 July 2011 в 21:22
  • 2
    Кроме того, начиная с Ubuntu 13.04, все выпуски, отличные от LTS, теперь имеют только 9 месяцев поддержки, а не 18. Любая информация, основанная на текущем статусе, не является будущей – MestreLion 17 January 2018 в 01:50

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

Похожие вопросы: