我正在编写脚本,并且需要列出所有当前受支持的Ubuntu版本。
如果你们中的任何一个知道一个包含所有带有日期的版本的可下载文件,或者一个所有当前受支持版本的简单列表。那太好了。显然,它们必须是Canonical使它们保持最新状态的位置,以便脚本可以在未来继续使用。
它应该可以在旧版本的Ubuntu上运行,例如任何受支持的版本(lucid +)等。
我正在编写脚本,并且需要列出所有当前受支持的Ubuntu版本。
如果你们中的任何一个知道一个包含所有带有日期的版本的可下载文件,或者一个所有当前受支持版本的简单列表。那太好了。显然,它们必须是Canonical使它们保持最新状态的位置,以便脚本可以在未来继续使用。
它应该可以在旧版本的Ubuntu上运行,例如任何受支持的版本(lucid +)等。
Answers:
您可以使用launchpadlib来执行此操作。例如,在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
有关启动板API的更多信息,请查看Web服务API帮助或API参考。
您可以使用解析来自的输出ubuntu-support-status
。这将列出不支持哪些软件以及其他软件受支持的时间。例如,即使LTS桌面仅支持三年,它在LTS桌面上也支持LAMP服务5年。该命令将反映出这一点。它还将向您显示根本不支持来自Universe,Multiverse等的包。
这是一个例子:
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
要将所有受支持的名称放置在列表中而不是打印它们:
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 ]
names = [ s.name for s in series_all if s.supported ]
:)
不难看出发行日期的模式。如果您访问Wikipedia,则可以看到正常发行版的支持期限为1 1/2年,而LTS(长期支持,每两年的4月发行)的期限为3年。由于每6个月发布一次(4月和10月),因此根据该信息构建脚本很容易。