I was writing a script and needed a list of all currently supported versions of Ubuntu.

If any of you guys know of either a downloadable files which contains all versions with dates or a simple list of all currently supported versions. That would be great. Obviously they would have to be locations where Canonical keeps them up to date so the scripts continue to work into the future.

And it should be something which works on older versions of Ubuntu, say any supported version (lucid+) etc.


You can use launchpadlib to do this. For example, 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

For more info about the launchpad API, check out the web services API help or the API reference.

  • In addition, for situations where you need this information offline, there's the distro-info package. (In lucid, the distro-info commands are in the ubuntu-dev-tools package. – tumbleweed Apr 12 '13 at 11:47

You can use the parse the output from ubuntu-support-status. That will list what software is unsupported, and how long the others are supported. For instance, LAMP services are supported for 5 years on an LTS desktop even if the desktop itself is only supported for three years. That command will reflect that. It will also show you that packages from universe, multiverse, etc, are not supported at all.

Here's an example:

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

To place all supported names in a list instead of printing them:

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 ]
  • I'm no Python expert, but does this add anything significant over Jeremy's answer? – Caesium Feb 3 '12 at 16:18
  • filter followed by a map? Sounds like a list comprehension would be better: names = [ s.name for s in series_all if s.supported ] :) – Jeremy Kerr Feb 7 '12 at 3:41
  • Well, it stores away the names in a var instead of printing them, figured it was worth mentioning since I scratched my own head a while :) Yeah, JKs version looks a bit slimmer :) – arand Feb 24 '12 at 17:14

It is not hard to see the pattern in release dates. If you go to Wikipedia, you can see that the normal releases are supported for 1 1/2 years, while the LTS (Long Term Support, released in April of every other year) are supported for 3 years. As there is a release every 6 months (in April and October) it is easy to build a script from that information.

  • 3
    No, it isn't. Ubuntu is one operating system, but different packages are supported for various lengths of time. Packages that are in use in Ubuntu Server is supported for a longer period of time even if you install them in Ubuntu Desktop. That means you'll have to know that Python is supported for 5 years on the desktop, for instance. This is not easily discoverable by reading wikipedia. -1 – Jo-Erlend Schinstad Jul 29 '11 at 16:22
  • Also, starting from Ubuntu 13.04 all non-LTS releases now have only 9 months of support instead of 18. Any information based on current status is not future-proof – MestreLion Jan 16 '18 at 21:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.