Comment puis-je déterminer par programme quelles versions d'Ubuntu sont toujours prises en charge?


11

J'écrivais un script et j'avais besoin d'une liste de toutes les versions d'Ubuntu actuellement prises en charge.

Si vous connaissez l'un des fichiers téléchargeables contenant toutes les versions avec des dates ou une simple liste de toutes les versions actuellement prises en charge. Ce serait génial. Évidemment, ils devraient être des emplacements où Canonical les tient à jour afin que les scripts continuent de fonctionner dans le futur.

Et cela devrait être quelque chose qui fonctionne sur les anciennes versions d'Ubuntu, par exemple n'importe quelle version prise en charge (lucid +), etc.

Réponses:


11

Vous pouvez utiliser launchpadlib pour ce faire. Par exemple, en 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

Pour plus d'informations sur l'API du tableau de bord, consultez l' aide de l'API des services Web ou la référence de l'API .


De plus, pour les situations où vous avez besoin de ces informations hors ligne, il y a le package distro-info . (Dans lucid, les commandes distro-info sont dans le paquet ubuntu-dev-tools .
tumbleweed

7

Vous pouvez utiliser l'analyse de la sortie ubuntu-support-status. Cela répertoriera les logiciels non pris en charge et la durée de prise en charge des autres. Par exemple, les services LAMP sont pris en charge pendant 5 ans sur un bureau LTS même si le bureau lui-même n'est pris en charge que pendant trois ans. Cette commande reflétera cela. Il vous montrera également que les packages d'univers, multivers, etc., ne sont pas du tout pris en charge.

Voici un exemple:

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

Pour placer tous les noms pris en charge dans une liste au lieu de les imprimer:

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 ]

Je ne suis pas un expert de Python, mais cela ajoute-t-il quelque chose de significatif à la réponse de Jeremy?
Césium

filtre suivi d'une carte? Cela ressemble à une compréhension de la liste serait mieux: names = [ s.name for s in series_all if s.supported ]:)
Jeremy Kerr

Eh bien, il se range les noms dans un var au lieu de les imprimer, pensé qu'il était utile de mentionner que je gratté ma tête un certain temps :) Ouais, version JKs ressemble un peu plus mince de :)
Arand

-2

Il n'est pas difficile de voir le modèle dans les dates de sortie. Si vous allez sur Wikipedia , vous pouvez voir que les versions normales sont prises en charge pendant 1 an et demi, tandis que le LTS (Long Term Support, publié en avril de chaque autre année) est pris en charge pendant 3 ans. Comme il existe une version tous les 6 mois (en avril et octobre), il est facile de créer un script à partir de ces informations.


3
Non, ça ne l'est pas. Ubuntu est un système d'exploitation, mais différents packages sont pris en charge pour différentes durées. Les packages utilisés dans Ubuntu Server sont pris en charge pendant une plus longue période, même si vous les installez dans Ubuntu Desktop. Cela signifie que vous devez savoir que Python est pris en charge pendant 5 ans sur le bureau, par exemple. Ce n'est pas facilement découvrable en lisant wikipedia. -1
Jo-Erlend Schinstad

De plus, à partir d'Ubuntu 13.04, toutes les versions non LTS ont désormais seulement 9 mois de support au lieu de 18. Toute information basée sur l'état actuel n'est pas à l'épreuve du temps
MestreLion
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.