Mô hình phát hành ổn định của nhân Linux bắt đầu từ năm 2005, khi xác định rằng mô hình phát triển nhân hiện tại (bản phát hành mới mỗi 2-3 tháng) không đáp ứng được nhu cầu của hầu hết người dùng. Người dùng muốn bản sửa lỗi được thực hiện 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 kernel nếu không có ý kiến phản hồi từ cộng đồng kernel. Nói chung, việc cố gắng bảo mật từng nhân và cập nhật bản sửa lỗi mới nhất là một nỗ lực lớn và khó hiểu của nhiều cá nhân.
Các bản phát hành hạt nhân ổn định dựa trực tiếp vào các bản phát hành của Linus Torvalds và được phát hành hằng tuần, tuỳ thuộc vào nhiều yếu tố bên ngoài (thời gian trong năm, các bản vá hiện có, khối lượng công việc của người bảo trì, v.v.). Việc đánh số các bản phát hành ổn định bắt đầu bằng số của bản phát hành hạt nhân và một số bổ sung được thêm vào cuối bản phát hành đó. Ví dụ: Linus phát hành nhân 4.4, sau đó các bản phát hành nhân ổn định dựa trên nhân này được đánh số 4.4.1, 4.4.2, 4.4.3, v.v. Trình tự 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 hạt nhân ổn định. Mỗi cây phát hành hạt nhân ổn định được duy trì bởi một nhà phát triển hạt nhân. Nhà phát triển này chịu trách nhiệm chọn các bản vá cần thiết cho bản phát hành và quản lý quy trình xem xét/phát hành.
Các nhân ổn định được duy trì trong suốt thời gian của 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 đó sẽ ngừng hoạt động và người dùng phải chuyển sang hạt nhân mới phát hành.
Hạt nhân ổn định lâu dài
Sau một năm sử dụng quy trình phát hành ổn định mới này, chúng tôi nhận thấy rằng nhiều người dùng Linux muốn có một kernel được hỗ trợ lâu hơn vài tháng. Để đáp lại, bản phát hành nhân Hỗ trợ dài hạn (LTS) đã được tạo, với nhân LTS đầu tiên (2.6.16) được phát hành vào năm 2006. Kể từ đó, một hạt nhân LTS mới được chọn một lần mỗi năm và cộng đồng hạt nhân duy trì hạt nhân đó trong ít nhất 2 năm.
Tại thời điểm viết bài này, các hạt nhân LTS là các bản phát hành 4.4.y, 4.9.y, 4.14.y, 4.19.y, 5.4.y và 5.10.y. Hệ điều hành hạt nhân mới được phát hành hằng tuần. Do nhu cầu của một số người dùng và bản phân phối, một số nhân cũ khác sẽ được các nhà phát triển nhân duy trì theo chu kỳ phát hành chậm hơn. Bạn có thể tìm thấy thông tin về tất cả các nhân ổn định lâu dài, người chịu trách nhiệm về các nhân đó và thời gian duy trì các nhân đó trên trang bản phát hành kernel.org.
Các bản phát hành hạt nhân LTS trung bình chấp nhận 6-8 bản vá mỗi ngày, trong khi các bản phát hành hạt nhân ổn định thông thường chứa 10-15 bản vá mỗi ngày. Số lượng bản vá dao động theo mỗi bản phát hành, dựa trên thời gian hiện tại của bản phát hành hạt nhân phát triển tương ứng và các biến bên ngoài khác. Hạt nhân LTS càng cũ thì càng ít bản vá áp dụng được cho hạt nhân đó vì nhiều bản sửa lỗi gần đây không liên quan đến các hạt nhân cũ. Tuy nhiên, càng cũ thì càng khó điều chỉnh ngược các thay đổi cần áp dụng do các thay đổi trong cơ sở mã. Vì vậy, mặc dù có thể có ít bản vá tổng thể được áp dụng hơn, nhưng nỗ lực duy trì hạt nhân LTS lớn hơn so với duy trì hạt nhân ổn định thông thường.
Quy tắc về bản vá nhân ổn định
Các quy tắc về nội dung có thể được thêm vào bản phát hành hạt nhân ổn định gần như không thay đổi kể từ khi được giới thiệu và được tóm tắt dưới đây:
- Phải rõ ràng là chính xác và đã được kiểm thử.
- Không được lớn hơn 100 dòng.
- Chỉ được khắc phục một lỗi.
- Phải khắc phục vấn đề đã được báo cáo.
- Có thể là mã thiết bị mới hoặc đặc điểm kỳ lạ của phần cứng, nhưng không thêm chức năng mới chính.
- Phải được hợp nhất vào cây của Linus Torvalds.
Quy tắc cuối cùng, "Phải được hợp nhất vào cây của Linus Torvalds", giúp cộng đồng nhân kernel không bị mất các bản sửa lỗi. Cộng đồng không bao giờ muốn bản sửa lỗi đi vào bản phát hành hạt nhân ổn định chưa có trong cây của Linus Torvalds, để bất kỳ ai nâng cấp cũng không bao giờ thấy sự hồi quy. Điều này giúp ngăn chặn nhiều vấn đề mà các dự án khác có thể gặp phải khi duy trì một nhánh phát triển và ổn định.
Bản cập nhật hạt nhân
Cộng đồng nhân kernel Linux đã hứa với cơ sở người dùng rằng không có bản nâng cấp nào phá vỡ bất kỳ tính năng nào đang hoạt động trong bản phát hành trước đó. Lời hứa đó vẫn còn đúng cho đến ngày nay. Sự hồi quy có xảy ra, nhưng đó là những lỗi có mức độ ưu tiên cao nhất và được khắc phục nhanh chóng hoặc thay đổi gây ra sự hồi quy sẽ nhanh chóng được hoàn nguyên từ cây nhân Linux.
Lời hứa này đúng cho cả các bản cập nhật nhân ổn định gia tăng cũng như các bản cập nhật lớn hơn diễn ra 3 tháng một lần. Tuy nhiên, cộng đồng nhân kernel chỉ có thể đưa ra lời hứa này cho mã được hợp nhất vào cây nhân Linux. Mọi mã được hợp nhất vào hạt nhân của thiết bị không có trong bản phát hành kernel.org đều không xác định và không thể lên kế hoạch hoặc thậm chí cân nhắc tương tác với mã đó.
Các thiết bị dựa trên Linux có bộ bản vá lớn có thể gặp vấn đề lớn khi cập nhật lên các hạt nhân mới hơn, do số lượng thay đổi lớn 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ộ bản vá SoC đặc biệt được biết là gặp vấn đề khi cập nhật lên các hạt nhân mới hơn do kích thước lớn và sửa đổi nhiều mã hạt nhân cụ thể theo cấu trúc, đôi khi là mã hạt nhân cốt lõi. Do đó, hầu hết các nhà cung cấp SoC đều bắt đầu chuẩn hoá việc sử dụng các bản phát hành LTS cho thiết bị của họ, cho phép các thiết bị đó nhận trực tiếp các bản cập nhật bảo mật và lỗi từ cộng đồng nhân kernel Linux.
Bảo mật
Khi 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 các thay đổi cụ thể là bản sửa lỗi bảo mật. Điều này là do vấn đề cơ bản là khó xác định xem bản sửa lỗi có phải là bản sửa lỗi bảo mật hay không tại thời điểm 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 một thời gian dài, vì vậy, cộng đồng nhân kernel khuyên bạn nên luôn áp dụng tất cả bản sửa lỗi được phát hành.
Khi các vấn đề bảo mật được báo cáo cho cộng đồng nhân kernel, chúng sẽ được khắc phục sớm nhất có thể và được phát hành công khai cho cây phát triển và các 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à "biện pháp khắc phục bảo mật", mà giống như mọi bản sửa lỗi khác cho nhân. Việc này được thực hiện để cho phép các bên bị ảnh hưởng cập nhật hệ thống của họ trước khi người báo cáo sự cố công bố vấn đề.
Để biết thông tin chi tiết về cách báo cáo lỗi bảo mật cho cộng đồng nhân kernel để giải quyết và khắc phục lỗi sớm nhất có thể, hãy tham khảo phần Lỗi bảo mật trong Hướng dẫn dành cho người dùng và quản trị viên về nhân Linux tại www.kernel.org.
Vì nhóm nhân kernel không công bố lỗi bảo mật, nên số CVE cho các vấn đề liên quan đến nhân Linux thường được phát hành sau vài tuần, vài tháng và đôi khi là vài năm kể từ khi bản sửa lỗi được hợp nhất vào các nhánh ổn định và phát triển.
Duy trì hệ thống an toàn
Khi triển khai một thiết bị sử dụng Linux, nhà sản xuất nên thực hiện tất cả các bản cập nhật nhân LTS và đẩy bản cập nhật đó đến người dùng sau khi kiểm thử thích hợp cho thấy bản cập nhật hoạt động tốt. Điều này có một số ưu điểm:
- Các bản phát hành đã được các nhà phát triển nhân hệ điều hành xem xét toàn bộ chứ không phải từng phần.
- Rất khó để xác định những bản vá khắc phục vấn đề "bảo mật" và những bản vá không khắc phục vấn đề này. Hầu hết các bản phát hành LTS đều chứa ít nhất một bản sửa lỗi bảo mật đã biết và nhiều bản sửa lỗi "chưa biết".
- Nếu quá trình kiểm thử cho thấy có vấn đề, cộng đồng nhà phát triển nhân hệ điều hành sẽ phản ứng nhanh chóng để giải quyết vấn đề.
- Việc cố gắng chỉ lọc ra các thay đổi mà bạn chạy sẽ dẫn đến một cây nhân không thể hợp nhất chính xác với các bản phát hành thượng nguồn trong tương lai.