Câu trả lời:
Hai thư mục được cung cấp bởi các gói tương ứng, chứa các tệp tiêu đề cho kernel. Sử dụng dpkg
lệnh để tìm gói nào cung cấp các thư mục.
$ dpkg -S /usr/src/linux*
linux-headers-X.XX.X-XX: /usr/src/linux-headers-X.XX.X-XX
linux-headers-X.XX.X-XX-generic: /usr/src/linux-headers-X.XX.X-XX-generic
...
Thư mục đầu tiên /usr/src/linux-headers-X.X.XX-XX
bao gồm các tệp tiêu đề cho nhiều kiến trúc, bao gồm x86, amd64, powerpc và các tệp khác, dẫn đến số lượng tệp nhiều hơn và kích thước gói lớn hơn.
Thư mục khác /usr/src/linux-headers-X.X.XX-XX-generic
dường như chứa hầu hết các mã nguồn có liên quan đến kiến trúc x86 được nhắm mục tiêu cho cài đặt cục bộ.
Gói tương ứng đã gợi ý trong mô tả, ví dụ:
$ apt-cache show linux-headers-3.16.0-25 | grep -A3 Description-en
Description-en: Header files related to Linux kernel version 3.16.0
This package provides kernel header files for version 3.16.0, for sites
that want the latest kernel headers. Please read
/usr/share/doc/linux-lts-utopic-headers-3.16.0-25/debian.README.gz for details
Theo như tôi biết, cả hai thư mục chỉ chứa mã nguồn và không có mã nhị phân. Và sự khác biệt giữa cả hai chủ yếu là kiến trúc đích của mã nguồn.
Liên quan: Cây nguồn chứa gì? Điều này có liên quan đến tiêu đề kernel Linux không?
Vì cả hai lưu trữ
x86
mã liên quan, sự khác biệt btwnx86
mã trong hai thư mục là gì? - Richard ngày 29 tháng 7 '15 lúc 19:11
Hầu hết các thư mục và tệp chứa trong /usr/src/linux-headers-X.X.XX-XX-generic
là các liên kết tượng trưng, trỏ đến các thư mục và tệp thực tế trong /usr/src/linux-headers-X.X.XX-XX
. Nói cách khác, arch/x86
tìm thấy trong hai thư mục đó chỉ là sự khác biệt của các liên kết thực tế và biểu tượng, với một số tệp còn lại của các asm
tiêu đề trong *-generic
bản sao.
Giữa hai gói đó, người ta có thể nhận thấy một sự khác biệt lớn khác là sự hiện diện config
và các generated
thư mục trong *-generic
đối tác.
Theo hiểu biết tốt nhất của tôi, tôi sẽ nghĩ rằng *-generic
thư mục chứa các tệp tiêu đề cần thiết để định cấu hình và biên dịch các mô-đun có liên quan đến x86
kiến trúc, mà không thực hiện các thay đổi chính thức cho thư mục nguồn của linux-headers-x.x.xx-xx
.
Trên hết, hai thư mục có lẽ là cách tiếp cận "sạch" để đóng gói và biên dịch các gói trên các nền tảng tương ứng. Mặc dù, tôi không ở vị trí để làm rõ vấn đề này.
Lưu ý của người trả lời: Tôi đã viết câu trả lời này một cách ngây thơ vào thời điểm đó - không chắc điều gì đúng hay sai - và một số lời giải thích có thể bị thiếu ở giữa. Do đó câu trả lời này hiện là một wiki cộng đồng, để bất kỳ ai có uy tín tối thiểu đều có thể cải thiện bài đăng này để giải thích đầy đủ về sự khác biệt.
x86
mã liên quan, sự khác biệt btwnx86
mã trong hai thư mục là gì?