Đọc thay đổi của gói nguồn debian openjdk-8, chúng ta thấy rằng có một phiên bản gọi là openjdk-8 (8u45-b14-4) và phiên bản tiếp theo là openjdk-8 (8u60 ~ b22-1) .
Ý nghĩa của dấu ngã trong phiên bản cuối cùng này là gì?
Đọc thay đổi của gói nguồn debian openjdk-8, chúng ta thấy rằng có một phiên bản gọi là openjdk-8 (8u45-b14-4) và phiên bản tiếp theo là openjdk-8 (8u60 ~ b22-1) .
Ý nghĩa của dấu ngã trong phiên bản cuối cùng này là gì?
Câu trả lời:
Tham chiếu chính thức cho định dạng phiên bản gói Debian có trong Hướng dẫn chính sách Debian . Định dạng này được thiết kế để cho phép các số phiên bản có giao diện hợp lý của Wap với mối quan hệ so sánh được xác định rõ (nếu hơi phức tạp) để quyết định khi nào một phiên bản gần đây hơn phiên bản khác.
Đối với hầu hết các phần, so sánh là một so sánh từ vựng của chuỗi. Ví dụ, 1foo
được sắp xếp trước 1ga
. Tuy nhiên, các chuỗi chữ số được so sánh theo thứ tự số, do đó foo10bar
được sắp xếp sau foo9bar
.
Với một thứ tự từ điển, một chuỗi luôn được sắp xếp trước tiền tố của nó. Ký tự dấu ngã cho phép độ lệch từ đó: foo~bar
luôn được sắp xếp trước foo
cũng như trước bất kỳ phiên bản nào bắt đầu foo
bằng một ký tự khác ~
. Điều này thường được sử dụng cho các phiên bản beta: 8u60~b22
được sắp xếp trước 8u60
. Tôi không biết tại sao các gói OpenJDK 8 dường như xen kẽ giữa -b
và ~b
hậu tố.
Hậu tố Tilde cũng được sử dụng cho backport các loại. Ví dụ: nếu cùng một phiên bản của gói có trong cả bản ổn định và kiểm tra Debian và bản sửa lỗi bảo mật cần phải ổn định, thì gói trong bản ổn định sẽ có hậu tố như -2~deb1
trong khi phiên bản thử nghiệm (được biên dịch dựa trên các thư viện gần đây hơn) sẽ có -2
; theo cách đó, gói là một bản nâng cấp lên -1
phiên bản, nhưng nếu một hệ thống được nâng cấp từ ổn định sang thử nghiệm, -2~deb1
phiên bản ổn định sẽ được nâng cấp lên -2
phiên bản thử nghiệm. Backport chính thức sử dụng cho cùng một mục đích, theo cách này, một phiên bản sẽ được nâng cấp lên nếu điều đó từng xuất hiện trong bản phân phối chính.~bpoNUMBER
4.2~bpo7
4.2
.
hoặc không -
hoặc +
), đó không phải là ký tự đặc biệt (trong hầu hết các trường hợp) và được phép trong tên tệp Windows, và đó là vẻ ngoài không gian mơ hồ.