Bản phát hành và bản cập nhật kernel ổn định

Mô hình phát hành ổn định cho nhân hệ điều hành của Linux bắt đầu từ năm 2005, khi đó nó được xác định mô hình phát triển nhân hiện tại (bản phát hành mới 2-3 tháng một lần) là chưa đáp ứng được nhu cầu của hầu hết người dùng. Người dùng muốn sửa lỗi trong khoảng thời gian 2-3 đó tháng và các bản phân phối Linux gặp khó khăn trong việc cập nhật nhân hệ điều hành mà không có phản hồi từ cộng đồng kernel. Nhìn chung, chúng tôi cố gắng duy trì mỗi nhân hệ điều hành an toàn và với các bản sửa lỗi mới nhất là một vấn đề lớn và khó hiểu của rất nhiều cá nhân.

Bản phát hành hạt nhân ổn định dựa trực tiếp trên Linus tovalds và đang phát hành mỗi tuần một lần, tuỳ thuộc vào nhiều yếu tố bên ngoài (thời gian trong năm, bản vá sẵn có, khối lượng công việc bảo trì, v.v.). Đánh số chuồng gia súc số lượng bản phát hành bắt đầu bằng số bản phát hành kernel và số lượng bản phát hành bổ sung sẽ được thêm vào cuối đoạn mã. Ví dụ: hạt nhân 4.4 được Linus phát hành và thì các bản phát hành hạt nhân ổn định dựa trên hạt nhân này được đánh số 4.4.1, 4.4.2, 4.4.3, v.v. Chuỗi này thường được rút gọn bằng số 4.4.y khi tham chiếu đến cây phát hành nhân ổn định. Mỗi cây phát hành hạt nhân ổn định do một nhà phát triển nhân duy nhất duy trì, chịu trách nhiệm chọn bản vá cần thiết cho bản phát hành và quản lý quá trình xem lại/phát hành.

Hạt nhân ổn định được duy trì trong suốt chu kỳ phát triển hiện tại. Sau khi Linus phát hành một hạt nhân mới, cây phát hành hạt nhân ổn định trước đó là bị dừng và người dùng phải chuyển sang nhân hệ điều hành được phát hành mới hơn.

Hạt nhân ổn định lâu dài

Sau một năm của quá trình phát hành bản phát hành ổn định mới này, chúng tôi đã xác định rằng những người dùng Linux khác nhau muốn có một nhân được hỗ trợ lâu hơn là chỉ một vài tháng. Đáp lại, bản phát hành hạt nhân Hỗ trợ dài hạn (LTS) đã được với kernel LTS đầu tiên (2.6.16) được phát hành vào năm 2006. Kể từ đó, một kiểu mới Nhân LTS được chọn mỗi năm một lần và cộng đồng nhân hệ điều hành duy trì rằng nhân hệ điều hành trong tối thiểu 2 năm.

Tại thời điểm viết bài này, hạt nhân LTS là 4.4.y, 4.9.y, 4.14.y, Các bản phát hành 4.19.y, 5.4.y và 5.10.y. Mỗi tuần một nhân hệ điều hành mới sẽ ra mắt. Do nhu cầu của một số người dùng và phân phối, một số nhân hệ điều hành cũ hơn là được nhà phát triển nhân duy trì ở chu kỳ phát hành chậm hơn. Thông tin về tất cả các nhân ổn định dài hạn, người phụ trách các hạt nhân đó cũng như thời gian duy trì, có thể được tìm thấy trên trang kernel.org bản phát hành.

Kernel LTS phát hành trung bình 6-8 bản vá được chấp nhận mỗi ngày, trong khi bản phát hành kernel ổn định chứa 10-15 bản vá mỗi ngày. Số lượng bản vá dao động theo bản phát hành dựa trên thời gian hiện tại của quá trình phát triển tương ứng bản phát hành hạt nhân và các biến bên ngoài khác. Nhân LTS càng cũ, có ít bản vá hơn vì có nhiều bản sửa lỗi gần đây không liên quan đến nhân cũ hơn. Tuy nhiên, hạt nhân càng cũ thì càng khó điều chỉnh cho phiên bản cũ các thay đổi cần được áp dụng do những thay đổi trong cơ sở mã. Loại đối thủ sau lượt đánh bóng mặc dù có thể có ít bản vá tổng thể được áp dụng hơn, nhưng nỗ lực liên quan đến việc duy trì một hạt nhân LTS cao hơn so với việc duy trì nhân ổn định.

Quy tắc về bản vá hạt nhân ổn định

Các quy tắc về nội dung có thể thêm vào bản phát hành kernel ổn định vẫn được giữ nguyên gần giống hệt nhau kể từ khi ra mắt và được tóm tắt như sau:

  • Phải rõ ràng là chính xác và được kiểm tra.
  • Không được lớn hơn 100 dòng.
  • Chỉ được sửa một lỗi.
  • Phải khắc phục một số vấn đề được báo cáo là có vấn đề.
  • Có thể là mã thiết bị hoặc tính năng độc đáo mới cho phần cứng, nhưng không thêm tính năng mới của Google.
  • Phải được hợp nhất vào Linus tovalds' cây xanh.

Quy tắc cuối cùng là "Phải được hợp nhất với Linus tovalds" cây", ngăn chặn cộng đồng kernel khỏi mất các bản sửa lỗi. Cộng đồng không bao giờ muốn sửa lỗi vào bản phát hành hạt nhân ổn định chưa có trong Linus tovalds cây, vì vậy rằng bất kỳ ai nâng cấp đều sẽ không bao giờ thấy sự hồi quy. Điều này giúp ngăn chặn nhiều những vấn đề mà các dự án khác duy trì nhánh phát triển và ổn định có.

Cập nhật kernel

Cộng đồng nhân hệ điều hành Linux đã cam kết với cơ sở người dùng rằng không nâng cấp làm hỏng bất cứ nội dung nào đang hoạt động trong bản phát hành trước. Đó lời hứa đến nay vẫn còn hiệu quả. Sự hồi quy vẫn hay xảy ra, nhưng đó là tỷ lệ cao nhất các lỗi được ưu tiên hàng đầu và nhanh chóng được khắc phục hoặc thay đổi gây ra hồi quy nhanh chóng bị chuyển về từ cây nhân hệ điều hành Linux.

Lời hứa này vẫn đúng với cả bản cập nhật nhân hệ điều hành ổn định gia tăng, vì cũng như các bản cập nhật lớn lớn hơn diễn ra ba tháng một lần. Tuy nhiên, nhân hệ điều hành chỉ có thể đưa ra lời hứa này đối với mã được hợp nhất vào Cây nhân hệ điều hành Linux. Bất kỳ mã nào được hợp nhất vào nhân của thiết bị không nằm trong bản phát hành kernel.org chưa được xác định và tương tác với ứng dụng không bao giờ được lên kế hoạch hoặc thậm chí không được xem xét.

Các thiết bị dựa trên Linux có bộ bản vá lớn có thể gặp sự cố nghiêm trọng khi cập nhật lên các hạt nhân mới hơn do có số lượng lớn thay đổi giữa mỗi bản phát hành (10-14 nghìn thay đổi cho mỗi bản phát hành). Các bản vá SoC đặc biệt nổi tiếng gặp sự cố khi cập nhật lên các nhân mới hơn do kích thước lớn và nặng sửa đổi mã cấu trúc cụ thể, và đôi khi là mã hạt nhân. Là một kết quả là hầu hết các nhà cung cấp hệ thống SoC đang bắt đầu chuẩn hoá việc sử dụng bản phát hành LTS cho thiết bị của họ, cho phép các thiết bị đó nhận được bản cập nhật bảo mật và lỗi trực tiếp từ cộng đồng nhân hệ điều hành Linux.

Bảo mật

Khi thực hiện các bản phát hành nhân hệ điều hành, cộng đồng nhân hệ điều hành Linux hầu như không bao giờ khai báo những thay đổi cụ thể dưới dạng bản sửa lỗi bảo mật. Điều này là do vấn đề cơ bản của khó khăn trong việc xác định liệu bản sửa lỗi có phải là bản sửa lỗi bảo mật tại thời điểm đó hay không sáng tạo. Ngoài ra, nhiều bản sửa lỗi chỉ được xác định là liên quan đến bảo mật sau nhiều thời gian, vì vậy cộng đồng kernel rất khuyến khích tiến hành sửa tất cả các bản sửa lỗi được phát hành.

Khi được báo cáo đến cộng đồng nhân hệ điều hành, các sự cố bảo mật sẽ được khắc phục là sớm nhất có thể và được triển khai công khai cho cây phát triển và bản phát hành ổn định. Như đã mô tả ở trên, các thay đổi hầu như không bao giờ được mô tả là một "bản sửa lỗi bảo mật", mà lại giống bất kỳ bản sửa lỗi nào khác cho nhân. Đây là được thực hiện để các bên bị ảnh hưởng có thể cập nhật hệ thống của họ trước khi người báo cáo vấn đề sẽ thông báo điều đó.

Thông tin chi tiết về cách báo cáo lỗi bảo mật cho cộng đồng kernel để nhận chúng được giải quyết và khắc phục sớm nhất có thể, hãy tham khảo Lỗi bảo mật trong Hướng dẫn của quản trị viên và người dùng nhân hệ điều hành Linux tại www.kernel.org.

Do các lỗi bảo mật không được nhóm nhân hệ điều hành công bố công khai, nên CVE số liệu cho các vấn đề liên quan đến nhân hệ điều hành Linux thường được công bố theo tuần, tháng và nhiều năm sau khi bản sửa lỗi được hợp nhất vào phiên bản ổn định cành cây.

Duy trì hệ thống an toàn

Khi triển khai thiết bị sử dụng Linux, chúng tôi đặc biệt khuyến nghị rằng Nhà sản xuất sẽ lấy các bản cập nhật kernel LTS và phát hành cho người dùng của họ sau khi kiểm tra thích hợp cho thấy bản cập nhật hoạt động tốt. Việc này có một số ưu điểm:

  • Các bản phát hành đã được nhà phát triển kernel xem xét tổng thể, chứ không phải ở các phần riêng lẻ.
  • Khó xác định bản vá nào khắc phục vấn đề "bảo mật" có vấn đề và không gặp vấn đề nào. Hầu hết bản phát hành LTS đều chứa ít nhất một bản phát hành bản sửa lỗi bảo mật và nhiều bản sửa lỗi "không xác định".
  • Nếu quá trình kiểm thử cho thấy có vấn đề, cộng đồng nhà phát triển kernel sẽ phản ứng nhanh chóng để giải quyết vấn đề.
  • Cố gắng chỉ lọc ra các thay đổi bạn chạy dẫn đến kết quả trong một hạt nhân cây không thể hợp nhất chính xác với các bản phát hành ngược dòng trong tương lai.