Hiểu sơ đồ lập phiên bản nhân Linux
Nếu bạn đã là người dùng Linux trong một thời gian dài, bạn sẽ biết rằng các bản phân phối Linux có các phiên bản duy nhất và mỗi phiên bản có một tên mã cụ thể. Hạt nhân Linux cũng có các số phiên bản khác nhau, đóng vai trò như một mã định danh cho chuỗi mà hạt nhân đó thuộc về. Tuy nhiên, có sự khác biệt giữa cách các phiên bản hạt nhân được hình thành trước đó và cách Linus Torvalds đặt tên cho chúng bây giờ.
Cuối cùng, bạn sẽ quen thuộc hơn với lược đồ lập phiên bản hạt nhân Linux và sẽ cảm thấy thoải mái hơn khi đọc số phiên bản hạt nhân và xác định các tính năng khác nhau liên quan đến một bản phát hành cụ thể.
Mục Lục
Phiên bản nhân Linux truyền thống
Khi Linus lần đầu tiên bắt đầu phát triển hạt nhân, hệ thống lập phiên bản được sử dụng chỉ đơn giản bao gồm một lược đồ biến tăng dần bắt đầu bằng 0 (0.x). Ban đầu, Linus là người duy nhất làm việc trong dự án và hệ thống tạo phiên bản này đã đáp ứng đủ nhu cầu ghi lại tài liệu và phân phối các bản phát hành hạt nhân mới.
Dưới đây là một số bản phát hành hạt nhân tuân theo sơ đồ đặt tên này:
Sau đó, khi nhiều nhà phát triển bắt đầu đóng góp cho dự án và số lượng bản sửa đổi và bản vá tăng lên đáng kể, người ta quyết định rằng sơ đồ phiên bản này không phù hợp với phần mềm như hạt nhân. Và bắt đầu từ phiên bản 1.0, Linus đã áp dụng một lược đồ mới với một số biến bổ sung.
Giới thiệu Hệ thống tạo phiên bản mô tả hơn
Năm 1994, với việc phát hành Linux kernel 1.00, Linus bắt đầu sử dụng một hệ thống lập phiên bản mới sử dụng ba biến theo cú pháp: “abc“. Các biến này (a, b và c) lần lượt đại diện cho bản phát hành chính, bản phát hành nhỏ và số sửa đổi cho bản phát hành hạt nhân cụ thể.
Lấy nhân Linux 1.1.95 làm ví dụ. Bạn có thể giải mã nó dưới dạng bản phát hành chính đầu tiên, bản phát hành nhỏ đầu tiên và bản sửa đổi thứ 95.
Vào thời điểm đó, các số phiên bản nhỏ chẵn biểu thị các bản phát hành nhân ổn định, trong khi các số lẻ biểu thị các bản phát triển. Điều quan trọng là phải có các nhánh riêng biệt để các nhà phát triển có thể thêm và thử nghiệm các tính năng mới trong hạt nhân mà không ảnh hưởng đến nhánh ổn định.
Các nhà phát triển hạt nhân thêm và cải thiện các tính năng mới trong nhánh phát triển cho đến khi nó đủ ổn định để được phát hành dưới dạng hạt nhân LTS. Nhân LTS 3.2 được phát triển bằng cách ổn định các tính năng mới trong phiên bản 3.1 và tương tự, nhân phát triển 3.3 mới được phân nhánh từ 3.2 để nhường chỗ cho các tính năng mới sau đó sẽ được giới thiệu trong Linux 3.4.
Bắt đầu từ Linux kernel 2.4, một biến thứ tư trong tên kernel biểu thị các bản vá. Bạn có thể nói rằng phiên bản 2.4.37.10 là bản vá lỗi thứ mười cho kernel 2.4.37.
Một bản vá lỗi không có nghĩa là số lượng các vấn đề được vá trong một bản phát hành hạt nhân. Thay vào đó, nó đếm số lần một nhân cập nhật được phát hành sau khi vá các vấn đề được tìm thấy.
Cho đến khi Linux 2.6, hệ thống phiên bản này đã được sử dụng và nó có hiệu quả trong việc phân biệt một phiên bản cụ thể với những phiên bản khác. Việc thêm số lượng sửa đổi và phát hành bản vá trong số phiên bản là mô tả, nhưng nó có nghĩa là có các phiên bản hạt nhân dài hơn và phức tạp hơn. Và một lần nữa, một kế hoạch mới và tốt hơn đã được yêu cầu.
Các phiên bản nhân Linux được đặt tên như thế nào?
Với phiên bản Linux 3.0, Linus đã loại bỏ biến thứ tư khỏi số phiên bản. Bây giờ, phiên bản hạt nhân được hình thành theo cú pháp: abc, trong đó a, b và c lần lượt là bản phát hành chính, bản phát hành nhỏ và số lượng bản sửa đổi. Lược đồ lập phiên bản này tương tự như lược đồ được sử dụng giữa các bản phát hành hạt nhân 1.0 và 2.4.
Do những tiến bộ trong hệ thống kiểm soát phiên bản, giờ đây những người đóng góp có thể làm việc liền mạch trên các nhánh ổn định và thêm các tính năng mới mà không vô tình làm hỏng các bản phát hành đã hoạt động ổn định. Do đó, việc sử dụng các số phiên bản nhỏ chẵn và lẻ cho các nhánh sản xuất và ổn định của hạt nhân đã trở nên thừa sau sự ra đời của phiên bản hạt nhân 4.0 và bản phát hành LTS đầu tiên (4.1) trong 4.x sê-ri có số phiên bản nhỏ lẻ.
Bạn cũng có thể nhận thấy một số ký tự ở cuối số phiên bản, như rcX. Các ứng cử viên đánh giá (hay viết tắt là “rc”) là các bản phát hành xem trước và các phiên bản vá trước của hạt nhân mà các nhà phát triển cần vá để loại bỏ lỗi và các vấn đề khác. Đây là bản thay thế cho các bản phát triển trước đây được ký hiệu bằng số phiên bản nhỏ lẻ.
Mặc dù các bản phát hành này được dành riêng cho các nhà phát triển hạt nhân để họ có thể khắc phục các sự cố được báo cáo và triển khai các tính năng mới, bạn cũng có thể tải xuống và kiểm tra các ứng cử viên đánh giá hạt nhân này nếu bạn muốn, nhưng nói chung không nên coi đây là nơi mà hầu hết quá trình phát triển xảy ra. Phiên bản xem trước mới nhất của hạt nhân tại thời điểm viết bài này là 5.19-rc6.
Để tạo phiên bản mới, biến đứng trước được tăng lên khi giá trị của một biến đạt đến một số cụ thể. Ví dụ: phiên bản chính được cập nhật thành chữ số tiếp theo bất cứ khi nào số phiên bản phụ gần bằng 20.
Linus đã đề cập trong thư phát triển hạt nhân 5.0 của mình rằng anh ấy chỉ cần cập nhật số chính lên năm vì số lượng bản phát hành nhỏ quá lớn để đếm trên đầu ngón tay và ngón chân (20!). Tương tự, theo kernel.org, số phiên bản chính được tăng lên khi số sau dấu chấm đầu tiên bắt đầu trông “quá lớn”. Phiên bản hạt nhân cuối cùng trong 3.x loạt là 3,19 và chính cuối cùng 4.x dòng hạt nhân là 4,20, sau đó được nâng lên 5,0.
Kể từ phiên bản 3.0, nhân Linux đã tuân theo sơ đồ lập phiên bản này và nó đã được chứng minh là hiệu quả miễn là có ba bản phát hành nhân chính (các phiên bản 3.x, 4.xvà 5.x).
Nhận dạng bản phát hành nhân Linux bằng số phiên bản
Xem xét số lượng tuyệt đối các phiên bản nhân Linux được phát hành, cần có một hệ thống thích hợp để xác định và phân biệt một phiên bản cụ thể với những phiên bản khác. Với lược đồ lập phiên bản hạt nhân mới, các phiên bản hạt nhân giờ đây có thể được xác định và so sánh một cách hiệu quả, đồng thời dễ dàng biết được phiên bản hạt nhân nào là mới nhất và phiên bản nào đã được phát hành trước đó.
Nếu bạn muốn kiểm tra phiên bản hạt nhân Linux hiện được cài đặt trên hệ thống của mình, bạn có thể thực hiện việc đó bằng cách sử dụng uname, một lệnh Linux cho phép bạn liệt kê thông tin liên quan đến hệ thống. Tùy thuộc vào bản phân phối bạn đang chạy, số phiên bản do uname hiển thị có thể khác với phiên bản hạt nhân Linux thực tế.