Bản phát hành hạt nhân ổn định & Cập nhật

Mô hình phát hành ổn định nhân Linux bắt đầu vào năm 2005, khi người ta xác định rằng mô hình phát triển nhân hiện tại (một bản phát hành mới cứ sau 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 sửa lỗi trong 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 hạt nhân nếu không có phản hồi từ cộng đồng hạt nhân. Nói chung, nỗ lực giữ an toàn cho từng hạt nhân và bằng các 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 khác nhau.

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 mỗi tuần hoặc lâu hơn, tùy thuộc vào nhiều yếu tố bên ngoài khác nhau (thời gian trong năm, các bản vá có sẵn, 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 kernel và một số bổ sung được thêm vào cuối nó. Ví dụ: kernel 4.4 được Linus phát hành và sau đó các bản phát hành kernel ổn định dựa trên kernel 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 ngắn bằng số 4.4.y khi đề cập đến cây phát hành kernel ổ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 duy nhất, người 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ý quá trình xem xét/phát hành.

Các 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 kernel mới, cây phát hành kernel ổn định trước đó sẽ dừng lại và người dùng phải chuyển sang kernel đã 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 ổn định mới này, người ta xác định rằng nhiều người dùng Linux khác nhau muốn một hạt nhân được hỗ trợ lâu hơn chỉ vài tháng. Để đáp lại, bản phát hành hạt nhân được hỗ trợ dài hạn (LTS) đã được tạo ra, với hạt nhân LTS đầu tiên (2.6.16) được phát hành vào năm 2006. Kể từ đó, hạt nhân LTS mới đã được chọn mỗi năm một lần và cộng đồng hạt nhân duy trì hạt nhân đó trong một thời gian dài. tối thiểu là 2 năm.

Tại thời điểm viết bài này, 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. Một 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ố hạt nhân cũ hơn được các nhà phát triển hạt nhân duy trì với chu kỳ phát hành chậm hơn. Thông tin về tất cả các hạt nhân ổn định lâu dài, người chịu trách nhiệm về chúng và thời gian chúng sẽ được duy trì, có thể được tìm thấy trên trang phát hành kernel.org .

Hạt nhân 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 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 trên mỗi bản phát hành theo 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 có ít bản vá được áp dụng cho nó vì nhiều bản sửa lỗi gần đây không liên quan đến hạt nhân cũ hơn. Tuy nhiên, kernel càng cũ thì càng khó backport những thay đổi cần áp dụng do những thay đổi trong cơ sở mã. Vì vậy, mặc dù có thể có số lượng bản vá tổng thể được áp dụng thấp hơn nhưng nỗ lực liên quan đến việc duy trì hạt nhân LTS sẽ lớn hơn so với việc duy trì hạt nhân ổn định thông thường.

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

Các quy tắc về những gì có thể được thêm vào bản phát hành kernel ổn định gần như vẫn giống hệt nhau kể từ khi được giới thiệu và được tóm tắt dưới đây:

  • Rõ ràng là phải chính xác và được kiểm tra.
  • Không được lớn hơn 100 dòng.
  • Phải sửa một điều thôi.
  • Phải khắc phục điều gì đó đã được báo cáo là có vấn đề.
  • Có thể là id thiết bị mới hoặc yêu cầu riêng về phần cứng nhưng không thêm chức năng mới quan trọng.
  • Phải được sáp nhập 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", ngăn cộng đồng kernel 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 được đưa vào bản phát hành kernel ổn định chưa có trong cây của Linus Torvalds, để bất kỳ ai nâng cấp sẽ không bao giờ thấy hồi quy. Điều này ngăn ngừa nhiều vấn đề mà các dự án khác duy trì chi nhánh ổn định và phát triển có thể gặp phải.

Cập nhật hạt nhân

Cộng đồng nhân Linux đã hứa với cơ sở người dùng của mình rằng sẽ không có bản nâng cấp nào phá vỡ bất kỳ thứ gì hiện đang hoạt động trong bản phát hành trước đó. Lời hứa đó vẫn đúng cho đến ngày nay. Sự hồi quy vẫn xảy ra, nhưng đó là những lỗi có mức độ ưu tiên cao nhất và được sửa nhanh chóng hoặc thay đổi gây ra sự hồi quy nhanh chóng được hoàn nguyên khỏi cây nhân Linux.

Lời hứa này đúng cho cả các bản cập nhật kernel ổn định gia tăng cũng như các bản cập nhật lớn hơn diễn ra ba tháng một lần. Tuy nhiên, cộng đồng hạt nhân chỉ có thể đưa ra lời hứa này đối với mã được hợp nhất vào cây hạt nhân Linux. Bất kỳ mã nào được hợp nhất vào 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 bao giờ có thể lên kế hoạch hoặc thậm chí xem xét các tương tác với nó.

Các thiết bị dựa trên Linux có bộ bản vá lớn có thể gặp sự cố lớn khi cập nhật lên nhân mới hơn do có nhiều thay đổi giữa mỗi bản phát hành (10-14 nghìn thay đổi mỗi bản phát hành). Các bản vá SoC đặc biệt được biết là có vấn đề với việc 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ự sửa đổi nặng nề về kiến ​​trúc cụ thể và đôi khi là mã hạt nhân. Do đó, hầu hết các nhà cung cấp SoC đang bắt đầu tiêu chuẩn hóa 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 được các bản cập nhật lỗi và bảo mật trực tiếp từ cộng đồng nhân Linux.

Bảo vệ

Khi thực hiện phát hành kernel, cộng đồng kernel Linux hầu như không bao giờ tuyên bố những 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à có liên quan đến bảo mật sau một thời gian dài trôi qua, vì vậy cộng đồng kernel đặc biệt khuyên bạn nên luôn sử dụng tất cả cá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 kernel, chúng sẽ được khắc phục càng sớm càng tốt và được đưa ra công khai trên cây phát triển và các bản phát hành ổn định. Như đã mô tả ở trên, những thay đổi này hầu như không bao giờ được mô tả là "bản sửa lỗi bảo mật", mà trông giống như bất kỳ bản sửa lỗi nào khác cho kernel. Điều này được thực hiện để cho phép các bên bị ảnh hưởng có khả năng cập nhật hệ thống của họ trước khi người báo cáo sự cố thông báo.

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

Vì các lỗi bảo mật không được nhóm hạt nhân công bố rộng rãi nên số CVE cho các sự cố liên quan đến hạt nhân Linux thường được phát hành hàng tuần, hàng tháng và đôi khi nhiều năm sau khi bản sửa lỗi được hợp nhất vào các nhánh phát triển và ổn định.

Giữ một hệ thống an toàn

Khi triển khai một thiết bị sử dụng Linux, chúng tôi đặc biệt khuyến nghị nhà sản xuất nên lấy tất cả các bản cập nhật kernel LTS và cung cấp cho người dùng của họ sau khi quá trình kiểm tra 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ố lợi thế:

  • Các bản phát hành đã được các nhà phát triển hạt nhân xem xét một cách tổng thể chứ không phải từng phần riêng lẻ.
  • Thật khó, nếu không nói là không thể, để xác định bản vá nào khắc phục được các vấn đề "bảo mật" và bản vá nào không. Hầu hết mọi 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 xác định".
  • Nếu quá trình kiểm tra 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 những thay đổi bạn chạy sẽ dẫn đến 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 ngược dòng trong tương lai.