Wie kann ich programmgesteuert feststellen, welche Ubuntu-Versionen noch unterstützt werden?

11

Ich schrieb ein Skript und brauchte eine Liste aller derzeit unterstützten Versionen von Ubuntu.

Wenn jemand von euch entweder eine herunterladbare Datei kennt, die alle Versionen mit Datum enthält, oder eine einfache Liste aller derzeit unterstützten Versionen. Das wäre toll. Offensichtlich müssten sie Orte sein, an denen Canonical sie auf dem neuesten Stand hält, damit die Skripte auch in Zukunft funktionieren.

Und es sollte etwas sein, das auf älteren Versionen von Ubuntu funktioniert, sagen wir jede unterstützte Version (lucid +) usw.

Martin Owens -doctormo-
quelle

Antworten:

11

Sie können Launchpadlib verwenden, um dies zu tun. Zum Beispiel 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

Weitere Informationen zur Launchpad-API finden Sie in der Webdienst-API-Hilfe oder in der API-Referenz .

Jeremy Kerr
quelle
Für Situationen, in denen Sie diese Informationen offline benötigen, gibt es außerdem das Distribution-Info- Paket. (In lucid sind die distro-info-Befehle im ubuntu-dev-tools- Paket enthalten.
tumbleweed
7

Sie können die Analyse verwenden, von der die Ausgabe stammt ubuntu-support-status. Daraufhin wird aufgeführt, welche Software nicht unterstützt wird und wie lange die anderen unterstützt werden. Beispielsweise werden LAMP-Dienste auf einem LTS-Desktop 5 Jahre lang unterstützt, selbst wenn der Desktop selbst nur drei Jahre lang unterstützt wird. Dieser Befehl wird das widerspiegeln. Es zeigt Ihnen auch, dass Pakete aus dem Universum, Multiversum usw. überhaupt nicht unterstützt werden.

Hier ist ein Beispiel:

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
quelle
3

So platzieren Sie alle unterstützten Namen in einer Liste, anstatt sie zu drucken:

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
quelle
Ich bin kein Python-Experte, aber fügt dies etwas Wichtiges über Jeremys Antwort hinzu?
Caesium
Filter gefolgt von einer Karte? Klingt wie ein Listenverständnis wäre besser: names = [ s.name for s in series_all if s.supported ]:)
Jeremy Kerr
Nun, es speichert die Namen in einer Var, anstatt sie zu drucken, dachte, es wäre erwähnenswert, da ich mir eine Weile am Kopf gekratzt habe :) Ja, JKs Version sieht ein bisschen schlanker aus :)
24.
-2

Es ist nicht schwer, das Muster in den Veröffentlichungsdaten zu erkennen. Wenn Sie zu Wikipedia gehen , können Sie sehen, dass die normalen Releases 1 1/2 Jahre lang unterstützt werden, während die LTS (Long Term Support, veröffentlicht im April jedes zweiten Jahres) 3 Jahre lang unterstützt werden. Da es alle 6 Monate (im April und Oktober) eine Veröffentlichung gibt, ist es einfach, aus diesen Informationen ein Skript zu erstellen.

Thomas
quelle
3
Nein, ist es nicht. Ubuntu ist ein Betriebssystem, aber verschiedene Pakete werden für verschiedene Zeiträume unterstützt. Pakete, die in Ubuntu Server verwendet werden, werden über einen längeren Zeitraum unterstützt, selbst wenn Sie sie in Ubuntu Desktop installieren. Das bedeutet, dass Sie wissen müssen, dass Python beispielsweise 5 Jahre lang auf dem Desktop unterstützt wird. Dies ist beim Lesen von Wikipedia nicht leicht zu erkennen. -1
Jo-Erlend Schinstad
Ab Ubuntu 13.04 haben alle Nicht-LTS-Versionen nur noch 9 Monate Support statt 18. Alle Informationen, die auf dem aktuellen Status basieren, sind nicht zukunftssicher
MestreLion