Tại sao kho Ubuntu không có phiên bản phần mềm mới nhất?


145

Tại sao các gói trong kho chính thức của Ubuntu cũ hơn các phiên bản (ngược dòng) mới nhất từ ​​Debian Sid, PPAs, các tác giả, v.v.?


2
Điều này thực sự xảy ra cho bất kỳ bản phân phối nào , không chỉ Ubuntu.
dr01

9
@ dr01 Có phân phối có các bản phân phối lăn mà luôn luôn được cập nhật - do đó không phải tất cả các bản phân phối phù hợp với câu hỏi này hoặc các chu kỳ phát triển Ubuntu
Thomas Ward

Câu trả lời:


120

Một bản phát hành Ubuntu trải qua một số giai đoạn trước khi nó thực sự ra mắt công chúng như một sản phẩm hoàn chỉnh:

  • Một thời gian trước khi Ubuntu tung ra một bản phát hành, nó đóng băng các gói của nó tại một thời điểm nhất định.

  • Trước khi phát hành hết nhưng sau khi đóng băng gói, công việc được thực hiện chủ yếu là khắc phục tất cả các lỗi và sự cố có thể có trong các gói đó. Các phiên bản gói mới không được nhập vào kho lưu trữ nữa sau khi gói hoặc tính năng đóng băng.

  • Khi bản phát hành xảy ra, các thay đổi bổ sung cho các gói đó chỉ xảy ra đối với các vấn đề sửa lỗi và bảo mật. Không có thêm nâng cấp nào được thực hiện cho các gói trong kho chính thức ngay cả khi các phiên bản mới của gói được phát hành.

Phiên bản mới của các gói liên tục được nhập (từ Debian) cho lần phát hành tiếp theo của Ubuntu, cho đến khi lần đóng băng tiếp theo xảy ra và quá trình tương tự lặp lại.

Ví dụ, bạn có thể xem lịch phát hành 12.04 .

Bạn có thể thấy rằng mặc dù 12.04 đã được phát hành vào tháng 4, vào ngày 12 tháng 1, một thứ gọi là Debian Nhập Freeze đã xảy ra.

Đây chỉ là giai đoạn đầu tiên trong nhiều giai đoạn đóng băng xảy ra trước khi phát hành thực tế và có nghĩa là tại thời điểm đó, việc nhập các gói từ kiểm tra Debian hoặc dừng không ổn định và công việc bắt đầu với chúng để tùy chỉnh và khắc phục sự cố với chúng.

Không có nâng cấp nào được thực hiện sau thời điểm đó trong rất nhiều gói và phiên bản mà gói đó có tại thời điểm đó là phiên bản hiện tại và được duy trì trong suốt thời gian phát hành.

Vì vậy, mặc dù có các phiên bản cao hơn của cùng một gói trong PPA của nhà phát triển hoặc trong kho lưu trữ Ubuntu + 1, những thứ đó sẽ chỉ được bao gồm trong bản phát hành tiếp theo của Ubuntu.

Điều này được thực hiện cho sự ổn định, bảo mật và chức năng. Các gói chảy máu mới được nhập khẩu tất cả các kho lưu trữ chính có nghĩa là các vấn đề và nhiều vấn đề cần giải quyết hơn. Việc đóng băng trong phiên bản gói giúp loại bỏ điều đó và làm cho Ubuntu an toàn hơn và ổn định hơn cho người dùng cuối.

Một phiên bản mới của Ubuntu được phát hành 6 tháng một lần, vì vậy cứ sau 6 tháng, các gói mới được chuẩn bị, thử nghiệm, tùy chỉnh và phát hành với một phiên bản mới. Các phiên bản tương lai của gói có thể được cài đặt trong hệ thống của bạn thông qua PPA hoặc chỉ bằng cách tải xuống từ trang web, nhưng phiên bản của gói trong kho chính thức vẫn giữ nguyên.

Để hiểu rõ hơn và tổng quan thú vị về những gì đã xảy ra với Ubuntu từ ngày 10.04 cho đến khi ra mắt ngày 12.04, hãy xem trang ReleaseSchedule - LTS to LTSStable Release Updates để biết tổng quan đầy đủ và giải thích về bản phát hành ổn định của Ubuntu.


2
Dường như có ngoại lệ đối với chính sách này, đặc biệt đối với các trình duyệt web (Firefox, Chromium). Mặc dù hơn 95% gói có thể tuân theo các chỉ dẫn bên dưới, trình duyệt web có thể là ứng dụng được sử dụng nhiều nhất cho hầu hết người dùng.
dotpush

Nếu bạn muốn phần mềm mới nhất, hãy sử dụng kho lưu trữ Launchpad PPA.
iBug

@iBug hoặc sử dụng một bản phân phối khác như Arch Linux hoặc NixOS hoặc cài đặt Homebrew trên hệ thống Ubuntu của bạn.
Boris

16

Hai lý do. Đầu tiên là khá rõ ràng: nó đòi hỏi một con người phải dành thời gian để cập nhật gói khi một dòng ngược mới xuất hiện. Thứ hai là nếu bạn đang chạy một bản phát hành ổn định trái ngược với phiên bản phát triển hiện tại, các gói không cố ý được cập nhật một cách cố ý để tránh bị phá vỡ. Xem http://wiki.ubfox.com/StableReleaseUpdates .


3
"Nó đòi hỏi con người phải dành thời gian để cập nhật gói khi một luồng mới xuất hiện" điều này rõ ràng là sai, mọi thứ đều có thể được thực hiện tự động. Lý do thực sự là lý do thứ hai mà bạn đề cập.
gents

15

Các gói được đóng băng để phát hành và không được cập nhật sau đó vì một số lý do. Nếu bản phát hành mới được đưa vào bản phát hành sau, thì phiên bản mới ...

  • có thể mang đến các lỗi mới, do đó chức năng hồi quy đã có mặt tại thời điểm phát hành
  • cần nhân lực để đóng gói, kiểm tra và tải lên
  • cần bộ cập nhật bảo mật của riêng mình
  • sẽ cần bản dịch cập nhật cho giao diện người dùng của nó
  • sẽ cần tài liệu cập nhật (và bản dịch)
  • làm cho hỗ trợ kỹ thuật trở nên khó khăn hơn
  • có thể gây khó chịu cho người dùng đã quen với các tính năng trong phiên bản cũ
  • có thể yêu cầu các phụ thuộc mới hơn có thể phá vỡ các ứng dụng khác nếu chúng bị thay đổi trong kho lưu trữ
  • có thể phá vỡ các gói khác phụ thuộc vào gói này
  • có thể phá vỡ tập lệnh người dùng, mẫu, công cụ, v.v. được tạo cho phiên bản cũ

Tất cả những gì đã nói, hãy lưu ý rằng có những trường hợp Ubuntu thực hiện cập nhật đầy đủ các phiên bản phần mềm trong kho lưu trữ. Firefox chẳng hạn.

Ngoài ra, có một kho lưu trữ backport ubfox người dùng có thể chọn tham gia cập nhật các gói phần mềm không gây ra sự cố như những gì được liệt kê ở trên. Nó không được bật theo mặc định nên người dùng phải chọn tham gia, điều này được thực hiện để loại bỏ sự ngạc nhiên khi phần mềm của bạn thay đổi từ bên dưới bạn. Ngoài ra, nó không có nhiều nhân viên và vì vậy tôi không chắc tần suất các gói thực sự được cập nhật.

Hơn nữa, nhóm SRU gần đây đã cập nhật chính sách một chút, hy vọng sẽ làm cho nó đơn giản hơn một chút để có được các bản cập nhật gói chỉ có lỗi.


11

Thông thường các bản cập nhật trong các phiên bản Ubuntu được phát hành là để bảo mật và sửa lỗi, ví dụ về các lỗi đó bao gồm:

  • Lỗi có thể, trong các trường hợp thực tế, trực tiếp gây ra lỗ hổng bảo mật. Chúng được thực hiện bởi nhóm bảo mật và được ghi lại tại SecurityTeam / UpdateProcedures.

  • Lỗi đại diện cho hồi quy nghiêm trọng từ bản phát hành Ubuntu trước đó. Điều này bao gồm các gói hoàn toàn không sử dụng được, như có thể gỡ cài đặt hoặc bị sập khi khởi động.

  • Các lỗi có thể, trong các trường hợp thực tế, trực tiếp gây mất dữ liệu người dùng Các lỗi không phù hợp với các loại trên, nhưng (1) có một bản vá rõ ràng an toàn và (2) ảnh hưởng đến một ứng dụng thay vì các gói cơ sở hạ tầng quan trọng (như X.org hoặc hạt nhân).

  • Đối với các bản phát hành Hỗ trợ dài hạn, chúng tôi thường xuyên muốn kích hoạt phần cứng mới. Những thay đổi như vậy là phù hợp với điều kiện là chúng tôi có thể đảm bảo không ảnh hưởng đến việc nâng cấp trên phần cứng hiện có. Ví dụ, phương thức của trình điều khiển mới được giới thiệu không được trùng lặp với trình điều khiển được vận chuyển trước đó. -Các phiên bản mới của phần mềm thương mại trong kho lưu trữ đối tác của Canonical.

    -FTBFS (Không thể xây dựng từ nguồn) cũng có thể được xem xét. Xin lưu ý rằng trong quá trình phát hành chính, đảm bảo rằng không có nhị phân nào không được xây dựng từ nguồn hiện tại. Thông thường những lỗi đó chỉ nên được SRUed kết hợp với sửa lỗi khác.

    -Đối với các phiên bản mới của gói cung cấp các tính năng mới, nhưng không sửa các lỗi nghiêm trọng, thay vào đó nên yêu cầu một cổng sau.

Lấy từ trang wiki tuyệt vời StableReleaseUpdates .


11

Tôi sẽ cố gắng trả lời các câu hỏi của bạn dựa trên kinh nghiệm trong quá khứ của tôi từ các diễn đàn ubfox và hành tinh Ubuntu.

Tôi đoán tôi chỉ tự hỏi làm thế nào các kho apt được cập nhật, và bởi ai.

Các repos APT được cập nhật từ nhóm đóng gói tại Ubuntu. Nhóm đóng gói nhận được tất cả các gói ngược dòng từ các nhà phát triển thực hiện thử nghiệm đóng gói ban đầu và những thứ khác. Sau đó, nhóm thử nghiệm thực hiện thử nghiệm cuối cùng đưa ra tín hiệu đi. Nhưng nhóm đóng gói và các nhóm thử nghiệm rất thận trọng về các phụ thuộc và mặt của nó ảnh hưởng đến hệ thống ổn định.

Khi có độ trễ, có phải vì nhà phát triển đã không đẩy bản phát hành gần đây nhất lên máy chủ có liên quan?

Nếu bạn thấy những thay đổi ngược dòng, có hàng ngàn nhà phát triển muốn đẩy các gói của họ. Nhưng không phải tất cả đều thành công trong luồng chính bởi vì nhiều lý do. Giả sử ứng dụng Gedit, phiên bản 2.2 phù hợp và hoạt động tốt với Dbus 2.1 và Gtk 2.4, v.v ... Trong khi phiên bản Gedit 2.4 (rất mới) cần Gtk 2.5 và Dbus2.3 để hoạt động. Bây giờ nhóm thử nghiệm và đóng gói (nhóm phát hành cũng) không chấp nhận điều này bởi vì việc thay đổi một hệ thống hiện có có dbus cũ và gtk với hệ thống mới sẽ phá vỡ mọi thứ khác. Hy vọng bạn có điểm của địa ngục phụ thuộc.

Có nhiều công việc hơn cho nhà phát triển trong việc đưa bản phát hành vào một biểu mẫu mà kho lưu trữ có thể sử dụng không?

Không để kênh ngược dòng. Nhưng đến kênh phát hành thì có :).

PS: Có thể có một chút thay đổi được thực hiện cho quy trình bây giờ trong kinh điển so với những gì được giải thích ở trên. Nhưng nó ít nhiều giống nhau.


6

Câu trả lời được chấp nhận trong liên kết fossfreedom được đăng dưới dạng bình luận là rất tốt.

Nói chung, các phiên bản gói được phát hành sau phần đầu tiên của quy trình phát triển phát hành mới không xuất hiện trong kho chính của bản phát hành đó để có thể kiểm tra kỹ phiên bản Ubuntu đáng tin cậy.

Bạn có thể tìm thấy một số gói được phát hành vào kho lưu trữ backports nếu chúng được kết hợp thành công trong bản phát hành Ubuntu trong tương lai và nếu các nhà phát triển tin rằng nó cũng sẽ hoạt động với các gói trước đó. Backport có thể được kích hoạt và hủy kích hoạt trong Trung tâm phần mềm (Chỉnh sửa-> Nguồn phần mềm-> Tab cập nhật-> Cập nhật không được hỗ trợ)


1
Như đã đề cập ở những nơi khác, backport là không phổ biến và không có nhiều.
Thomas Ward

-3

Câu trả lời không đầy đủ.

Có MỘT SỐ được đóng gói, hơn có thể được cài đặt trong phiên bản backport từ Trung tâm phần mềm. Ở bên phải của cửa sổ, ngay bên trái nút Cài đặt / Thay đổi, có một hộp chọn nơi bạn có thể thay đổi phiên bản.

Exempli gratia: Mặc định conkylà bây giờ 1.8.xvà bạn có ở đó 1.9.0 (precise-backports)như là backport. Tất nhiên, backport nên được kích hoạt đầu tiên.

Nguồn: http://bugs.launchpad.net/ubfox/+source/conky/+orms/1003727

EDIT: Như đã nêu dưới đây, không phải mọi gói đều có backport, nhưng đôi khi bạn có thể có quyền truy cập sớm nếu bạn đủ may mắn.


3
Backports không có sẵn cho mọi gói ...
papukaija
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.