Làm cách nào để lập trình có thể xác định phiên bản Ubuntu nào vẫn được hỗ trợ?


11

Tôi đã viết một tập lệnh và cần một danh sách tất cả các phiên bản Ubuntu hiện đang được hỗ trợ.

Nếu bất kỳ ai trong số các bạn biết về một tệp có thể tải xuống có chứa tất cả các phiên bản có ngày tháng hoặc một danh sách đơn giản của tất cả các phiên bản hiện được hỗ trợ. Điều đó sẽ rất tuyệt. Rõ ràng họ sẽ phải là những địa điểm mà Canonical luôn cập nhật chúng để các kịch bản tiếp tục hoạt động trong tương lai.

Và nó phải là một cái gì đó hoạt động trên các phiên bản Ubuntu cũ hơn, giả sử mọi phiên bản được hỗ trợ (lucid +), v.v.

Câu trả lời:


11

Bạn có thể sử dụng launchpadlib để làm điều này. Ví dụ: trong 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

Để biết thêm thông tin về API bảng khởi chạy, hãy xem trợ giúp API dịch vụ web hoặc tham chiếu API .


Ngoài ra, đối với các tình huống bạn cần thông tin này ngoại tuyến, có gói thông tin phân phối . (Trong lucid, các lệnh distro-information nằm trong gói ubfox-dev-tools .
tumbleweed

7

Bạn có thể sử dụng phân tích cú pháp đầu ra từ ubuntu-support-status. Điều đó sẽ liệt kê phần mềm nào không được hỗ trợ và các phần mềm khác được hỗ trợ trong bao lâu. Chẳng hạn, các dịch vụ LAMP được hỗ trợ trong 5 năm trên máy tính để bàn LTS ngay cả khi bản thân máy tính để bàn chỉ được hỗ trợ trong ba năm. Lệnh đó sẽ phản ánh điều đó. Nó cũng sẽ cho bạn thấy rằng các gói từ vũ trụ, đa vũ trụ, v.v., hoàn toàn không được hỗ trợ.

Đây là một ví dụ:

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

Để đặt tất cả các tên được hỗ trợ trong một danh sách thay vì in chúng:

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 ]

Tôi không phải là chuyên gia về Python, nhưng điều này có thêm gì đáng kể vào câu trả lời của Jeremy không?
Caesium

lọc theo bản đồ? Âm thanh như một sự hiểu biết danh sách sẽ tốt hơn: names = [ s.name for s in series_all if s.supported ]:)
Jeremy Kerr

Chà, nó lưu trữ tên trong một var thay vì in chúng, hình dung nó đáng được nhắc đến kể từ khi tôi gãi đầu một lúc :) Vâng, phiên bản của JK trông mỏng hơn một chút :)
arand 24/212

-2

Không khó để thấy mô hình trong ngày phát hành. Nếu bạn truy cập Wikipedia , bạn có thể thấy rằng các bản phát hành bình thường được hỗ trợ trong 1 năm rưỡi, trong khi LTS (Hỗ trợ dài hạn, được phát hành vào tháng 4 hàng năm) được hỗ trợ trong 3 năm. Vì có một bản phát hành cứ sau 6 tháng (vào tháng 4 và tháng 10), thật dễ dàng để xây dựng một kịch bản từ thông tin đó.


3
Không, không phải vậy. Ubuntu là một hệ điều hành, nhưng các gói khác nhau được hỗ trợ trong nhiều khoảng thời gian khác nhau. Các gói được sử dụng trong Ubuntu Server được hỗ trợ trong một khoảng thời gian dài hơn ngay cả khi bạn cài đặt chúng trong Ubuntu Desktop. Điều đó có nghĩa là bạn sẽ phải biết rằng Python được hỗ trợ trong 5 năm trên máy tính để bàn. Điều này không dễ dàng khám phá bằng cách đọc wikipedia. -1
Jo-Erlend Schinstad

Ngoài ra, bắt đầu từ Ubuntu 13.04, tất cả các bản phát hành không phải LTS hiện chỉ có 9 tháng hỗ trợ thay vì 18. Mọi thông tin dựa trên trạng thái hiện tại không phải là bằng chứng trong tương lai
MestreLion
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.