Come posso determinare programmaticamente quali versioni di Ubuntu sono ancora supportate?


11

Stavo scrivendo uno script e avevo bisogno di un elenco di tutte le versioni attualmente supportate di Ubuntu.

Se qualcuno di voi conosce un file scaricabile che contiene tutte le versioni con date o un semplice elenco di tutte le versioni attualmente supportate. Sarebbe grandioso. Ovviamente dovrebbero essere luoghi in cui Canonical li tiene aggiornati in modo che gli script continuino a funzionare nel futuro.

E dovrebbe essere qualcosa che funziona su versioni precedenti di Ubuntu, diciamo qualsiasi versione supportata (lucid +) ecc.

Risposte:


11

Puoi usare launchpadlib per farlo. Ad esempio, in 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

Per ulteriori informazioni sull'API launchpad, consultare la guida dell'API dei servizi Web o il riferimento API .


Inoltre, per le situazioni in cui sono necessarie queste informazioni offline, è disponibile il pacchetto distro-info . (In lucido, i comandi distro-info sono nel pacchetto ubuntu-dev-tools .
tumbleweed,

7

È possibile utilizzare l'analisi da cui viene generato l'output ubuntu-support-status. Questo elencherà quale software non è supportato e per quanto tempo sono supportati gli altri. Ad esempio, i servizi LAMP sono supportati per 5 anni su un desktop LTS anche se il desktop stesso è supportato solo per tre anni. Quel comando rifletterà quello. Ti mostrerà anche che i pacchetti di universo, multiverso, ecc. Non sono supportati affatto.

Ecco un esempio:

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

Per inserire tutti i nomi supportati in un elenco anziché stamparli:

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 ]

Non sono un esperto di Python, ma questo aggiunge qualcosa di significativo sulla risposta di Jeremy?
Cesio

filtro seguito da una mappa? Sembra una comprensione dell'elenco sarebbe meglio: names = [ s.name for s in series_all if s.supported ]:)
Jeremy Kerr

Bene, memorizza i nomi in un var invece di stamparli, ho pensato che valesse la pena menzionarli da quando mi sono grattato la testa :) Sì, la versione di JKs sembra un po 'più sottile :)
Arand

-2

Non è difficile vedere lo schema nelle date di rilascio. Se vai su Wikipedia , puoi vedere che le versioni normali sono supportate per 1 anno e mezzo, mentre le LTS (supporto a lungo termine, rilasciate ad aprile di ogni altro anno) sono supportate per 3 anni. Poiché è disponibile una versione ogni 6 mesi (in aprile e ottobre), è facile creare uno script da tali informazioni.


3
No, non lo è. Ubuntu è un sistema operativo, ma diversi pacchetti sono supportati per diversi periodi di tempo. I pacchetti in uso in Ubuntu Server sono supportati per un periodo di tempo più lungo anche se li installi in Ubuntu Desktop. Ciò significa che dovrai sapere che Python è supportato per 5 anni sul desktop, ad esempio. Questo non è facilmente individuabile leggendo Wikipedia. -1
Jo-Erlend Schinstad,

Inoltre, a partire da Ubuntu 13.04 tutte le versioni non LTS ora hanno solo 9 mesi di supporto invece di 18. Qualsiasi informazione basata sullo stato corrente non è a prova di futuro
MestreLion
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.