Điều gì ngăn phân phối sử dụng hạt nhân Linux mới nhất? [đóng cửa]


13

Hầu hết các bản phân phối Linux đều có một phiên bản kernel nhất định và chỉ cập nhật nó trên các bản phát hành điểm ( x.y.zđến x.y.(z+1)) và để cập nhật bảo mật.

Mặt khác, tôi biết rằng Linux có chính sách rất nghiêm ngặt về việc không thay đổi kernel ABI và không bao giờ phá vỡ không gian người dùng. Trên thực tế, Linus đã có nhiều cơn thịnh nộ công khai nhắm vào các nhà phát triển, những người muốn (cố ý hoặc vô tình) thay đổi kernel là những cách không tương thích ngược.

Tôi không hiểu tại sao các bản phân phối sử dụng hạt nhân "ổn định" thay vì luôn cập nhật lên kernel mới nhất. Đây không phải là một lời chỉ trích, tôi chỉ tò mò về lý do.


1
bởi vì các hạt nhân mới nhất thiếu thử nghiệm. nó có thể chứa các lỗi có thể ảnh hưởng đến sự ổn định của hệ thống và sự ổn định là trọng tâm chính của bất kỳ nhà bảo trì phân phối nào.

Câu trả lời:


8

Giao diện gọi hệ thống của nhân Linux rất ổn định. Nhưng kernel có các giao diện khác không phải lúc nào cũng tương thích.

  • /procchủ yếu là ổn định, nhưng đã có một vài thay đổi trong quá khứ (ví dụ: một số giao diện chuyển sang /sysmột thời gian sau khi /sysđược tạo).
  • Một số giao diện liên quan đến thiết bị đã bị xóa trong quá khứ.
  • /syschứa một số giao diện ổn định (được liệt kê trong Documentation/ABI/stable) và một số giao diện không. Bạn không nên sử dụng những thứ không, nhưng đôi khi mọi người làm, và nâng cấp bảo mật và ổn định đơn giản không nên phá vỡ mọi thứ cho họ.
  • Trước đây đã có sự không tương thích với các modutils (các hạt nhân mới hơn yêu cầu một phiên bản modutils mới hơn), mặc dù tôi nghĩ rằng nó đã khá lâu rồi.
  • Cũng có sự không tương thích về quy trình khởi động trên một số cấu hình bất thường. Thậm chí việc tăng kích thước của kernel có thể gây ra sự cố trên một số hệ thống nhúng.
  • Mặc dù các giao diện bên ngoài của kernel khá ổn định, nhưng các giao diện bên trong thì không. Quy tắc cho các giao diện nội bộ là bất kỳ ai cũng có thể phá vỡ chúng miễn là họ sửa chữa sử dụng nội bộ, nhưng sửa các mô-đun của bên thứ ba là trách nhiệm của tác giả của các mô-đun nói trên. Nhìn chung, khá nhiều cài đặt chạy các mô-đun của bên thứ ba: trình điều khiển bổ sung cho phần cứng không được hỗ trợ bởi kernel (nếu phần cứng được hỗ trợ bởi kernel mới, điều đó tốt, nhưng nếu không phải vậy), trình điều khiển độc quyền ( Mặc dù thế giới sẽ là một nơi tốt hơn nếu tất cả các trình điều khiển là nguồn mở, nhưng điều này không đúng, ví dụ, nếu bạn muốn hiệu suất GPU 3D tốt, bạn sẽ bị mắc kẹt với trình điều khiển độc quyền), v.v.
  • Một số người cần biên dịch lại kernel của họ hoặc một số mô-đun của bên thứ ba. Các hạt nhân gần đây thường không thể được biên dịch với các trình biên dịch cũ hơn.

Nói chung, lý do chính để không chuyển sang phiên bản kernel mới hơn là các mô-đun của bên thứ ba.

Một số phân phối dù sao cũng cung cấp các hạt nhân gần đây như là một tùy chọn. Ví dụ, Debian làm cho các hạt nhân từ thử nghiệm có sẵn cho người dùng bản phát hành ổn định thông qua các bản sao lưu. Tương tự, trên Ubuntu LTS, hạt nhân từ các bản phát hành Ubuntu gần đây có sẵn, nhưng không được sử dụng theo mặc định. Điều này chủ yếu hữu ích cho các cài đặt mới trên phần cứng chưa được hỗ trợ khi phân phối được hoàn tất.


9

Tôi không làm việc cho một bản phân phối, nhưng tôi có thể nghĩ ra ít nhất hai lý do:

  • Một số bản phân phối áp dụng các bản vá tùy chỉnh của chúng cho Kernel chưa được hợp nhất vào dòng chính. Điều này có nghĩa là đối với mọi bản cập nhật của kernel, họ cần đảm bảo rằng các bản vá của họ không phá vỡ bất cứ thứ gì và vẫn hoạt động bình thường.
  • Ngay cả bản phát hành Kernel ổn định mới nhất cũng có thể có lỗi, các bản phân phối nghiêm túc về độ tin cậy sẽ muốn trải qua một số quy trình / quy trình thử nghiệm trước khi cung cấp Kernel cho khách hàng của họ.

2
Dù sao, bản vá dành riêng cho phân phối không nhất thiết phải dành cho thượng nguồn. Và hạt nhân ngược dòng mới nhất trung bình sẽ chứa nhiều lỗi hơn so với hạt nhân "stock" đã được thử nghiệm của một bản phân phối. Phần lớn những gì kernel được phân phối bởi một bản phân phối là cố gắng loại bỏ / sửa càng nhiều lỗi càng tốt, trong khi không thay đổi mã nhiều hơn mức cần thiết.
Faheem Mitha

0

Các bản phân phối bảo thủ hơn tuân theo (và tích cực tham gia) các phiên bản kernel ổn định , vì sự ổn định. Những người ưa mạo hiểm hơn sử dụng một phiên bản kernel một hoặc đằng sau vanilla mới nhất và lớn nhất, cộng với một loạt các bản vá được nhập từ mẹo phát triển (và một số phiên bản trồng tại nhà).

Chính sách phát triển nhân hiện tại là phiên bản của Linus đi trước với đồ chơi mới, sáng bóng và không sợ thay đổi bán buôn. Một số phiên bản được coi là đủ ổn định (phát triển) để tạo cơ sở cho việc kiểm tra và ổn định nghiêm ngặt, tạo ra chuỗi ổn định.

Tất cả điều này có thể là do các công cụ được sử dụng, mọi người có thể tự chải chuốt cây git của riêng mình , giữ cho các nhánh và cây ngược dòng thú vị được đồng bộ hóa cục bộ, cam kết ăn cắp từ người khác và chia sẻ thay đổi cục bộ một cách tự do.


Sê-ri hạt nhân ổn định không được chọn dựa trên độ ổn định của một phiên bản cụ thể, tùy ý. Bắt đầu từ năm nay, loạt ổn định sẽ dựa trên phiên bản đầu tiên được phát hành mỗi năm ... Mỗi bản phát hành hạt nhân duy nhất được cho là ổn định và không bao giờ phá vỡ tính tương thích ngược.
Stephen Kitt
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.