Nếu tôi lệnh sau trên thực thi của tôi được gọi là "phiên bản", được biên soạn trên Fedora Core 11, tôi nhận được kết quả nàylà gì lĩnh vực số phiên bản trong đầu ra của lệnh tập tin Linux
phiên bản tập tin
phiên bản: ELF 32-bit LSB thực thi, Intel 80386, phiên bản 1 (SYSV), liên kết động (sử dụng libs chia sẻ), cho GNU/Linux 2.6.18, chưa bóc
tầm quan trọng của 2,6 là gì .18 số vào cuối, và nó có sử dụng trong dis hay không phân biệt với khách hàng phiên bản phần mềm nào họ nên tải xuống?
Từ những gì tôi đã xem xét cho đến nay, con số này chắc chắn là không
- Phiên bản kernel
- Phiên bản libc
- Bất cứ điều gì để làm với lsb_release
tôi muốn nhận được một số định danh dễ dàng để cho phép khách hàng biết bản phát hành nhị phân nào họ nên tải xuống, lý tưởng nhất là họ có thể xác định bằng cách nhập lệnh (như uname -a, mặc dù rõ ràng là không phải là một trong trường hợp này).
Cảm ơn
Cảm ơn - vì vậy có hiệu quả, phiên bản kernel tối thiểu mà có khả năng tương thích nhị phân với thực thi? Tôi đã giảm giá một phiên bản hạt nhân ban đầu như là một chương trình không gian người dùng chỉ "phụ thuộc" (như đầu ra ldd) trên libc.so, nhưng tôi có thể thấy liên kết ở đó. –
Bạn có thể nói như vậy. Sự thật thực sự là một chút tinh tế hơn: Không phải mọi phiên bản hạt nhân mang lại syscalls mới VÀ trong các chương trình bình thường bạn sử dụng trình bao bọc syscall từ libc. Vì vậy, các con số không được mã hóa cứng trong chính chương trình nhưng trong libc. Nhưng NẾU một hạt nhân phát minh ra một syscall mới, chương trình của bạn phụ thuộc vào nó, bạn không thể thực hiện chương trình đó trên một hạt nhân cũ hơn ... –
Vâng - đó là những gì tôi đã nghĩ - như một chương trình không gian người dùng, tôi không quan tâm đến hạt nhân - chỉ libc. Nhưng dĩ nhiên, libc phải quan tâm đến hạt nhân, vì nó kết nối không gian người dùng với hạt nhân.Vì vậy, thực sự, số là phiên bản hạt nhân libc đã được biên dịch chống lại, mà đến từ các nhà cung cấp (Fedora trong trường hợp này). Cảm ơn thời gian của bạn –