Como posso determinar programaticamente quais versões do Ubuntu ainda são suportadas?

11

Eu estava escrevendo um script e precisava de uma lista de todas as versões atualmente suportadas do Ubuntu.

Se algum de vocês souber de arquivos para download que contêm todas as versões com datas ou uma lista simples de todas as versões atualmente suportadas. Isso seria bom. Obviamente, eles teriam que ser locais onde a Canonical os mantivesse atualizados para que os scripts continuassem a funcionar no futuro.

E deve ser algo que funcione em versões mais antigas do Ubuntu, digamos qualquer versão suportada (lucid +) etc.

Martin Owens -doctormo-
fonte

Respostas:

11

Você pode usar o launchpadlib para fazer isso. Por exemplo, em 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

Para obter mais informações sobre a API da barra de ativação, consulte a ajuda da API de serviços da web ou a referência da API .

Jeremy Kerr
fonte
Além disso, para situações em que você precisa dessas informações offline, há o pacote distro-info . (Em lúcida, os comandos distro-Informações estão no ubuntu-dev-ferramentas pacote.
amaranto
7

Você pode usar a análise da saída ubuntu-support-status. Isso listará qual software não é suportado e por quanto tempo os outros são suportados. Por exemplo, os serviços LAMP são suportados por 5 anos em uma área de trabalho LTS, mesmo se a própria área de trabalho for suportada apenas por três anos. Esse comando refletirá isso. Também mostrará que pacotes do universo, multiverso etc. não são compatíveis.

Aqui está um exemplo:

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
Jo-Erlend Schinstad
fonte
3

Para colocar todos os nomes suportados em uma lista em vez de imprimi-los:

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
fonte
Não sou especialista em Python, mas isso adiciona algo significativo à resposta de Jeremy?
Cesium
filtro seguido por um mapa? Soa como uma compreensão da lista seria melhor: names = [ s.name for s in series_all if s.supported ]:)
Jeremy Kerr
Bem, ele armazena afastado os nomes em uma var em vez de imprimi-los, percebi que era vale a pena mencionar desde que eu riscado minha própria cabeça um tempo :) Sim, versão JKs parece mais magro pouco :)
Arand
-2

Não é difícil ver o padrão nas datas de lançamento. Se você for à Wikipedia , poderá ver que as versões normais são suportadas por 1 1/2 anos, enquanto o LTS (Long Term Support, lançado em abril de todos os outros anos) é suportado por 3 anos. Como há um lançamento a cada 6 meses (em abril e outubro), é fácil criar um script a partir dessas informações.

Thomas
fonte
3
Não é não. O Ubuntu é um sistema operacional, mas pacotes diferentes são suportados por vários períodos de tempo. Os pacotes em uso no Ubuntu Server são suportados por um longo período de tempo, mesmo se você os instalar no Ubuntu Desktop. Isso significa que você precisará saber que o Python é suportado por 5 anos na área de trabalho, por exemplo. Não é fácil descobrir isso lendo a Wikipedia. -1
Jo-Erlend Schinstad
Além disso, a partir do Ubuntu 13.04, todas as versões não LTS agora têm apenas 9 meses de suporte em vez de 18. Qualquer informação baseada no status atual não é à prova de futuro
MestreLion