яка різниця між версією src 3. * та 3. * - загальною


10

У моєму локальному Linux / Ubuntu у мене є два каталоги для Linux src

/usr/src/linux-3.16.0
/usr/src/linux-3.16.0-generic

Я знайшов код в 3.16.0 набагато більше, ніж у 3.16.0-generic. Мені цікаво, чому і чим ці два каталоги відрізняються (і що вони представляють?)

Відповіді:


1

Два каталоги надаються відповідними пакетами, які містять файли заголовків для ядра. Використовуйте dpkgкоманду, щоб знайти, який пакет надає каталоги.

$ 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
...

Перший каталог /usr/src/linux-headers-X.X.XX-XXмістить файли заголовків для багатьох архітектур, включаючи x86, amd64, powerpc та інші, що призводить до отримання більшої кількості файлів та більшого розміру пакету.

Інший каталог, /usr/src/linux-headers-X.X.XX-XX-genericздавалося, містить переважно вихідні коди, що стосуються архітектури x86, орієнтованої на локальну установку.

Відповідний пакет натякнув в описі, наприклад:

$ 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

Наскільки мені відомо, обидва каталоги містять лише вихідні коди, а не бінарні файли. І різниця між обома полягає в основному в цільовій архітектурі вихідних кодів.

Пов'язане: Що містить дерево джерела ядра? Це пов’язано з заголовками ядра Linux?

Розширена відповідь (30.07.2015)

оскільки обидва x86пов'язані коду магазину , яка різниця між x86кодом у двох каталогах? - Річард 29 липня 1515 о 19:11

Більшість каталогів і файлів, що містяться в /usr/src/linux-headers-X.X.XX-XX-genericсимволічних посиланнях, вказують на фактичні каталоги та файли в /usr/src/linux-headers-X.X.XX-XX. Іншими словами, arch/x86ці два каталоги є лише різницею фактичних та символічних посилань, з деякими залишковими файлами asmзаголовків *-generic.

Між цими двома пакетами можна помітити ще одну істотну відмінність - наявність configта generatedкаталоги в *-genericїхньому аналозі.

На моє найкраще розуміння, я вважаю, що *-genericкаталог містить необхідні файли заголовків для налаштування та компіляції модулів, що відповідають x86архітектурі, не вносячи прихованих змін у вихідний каталог linux-headers-x.x.xx-xx.

Перш за все, ці два каталоги, мабуть, є "чистим" підходом до упаковки та складання пакетів на відповідних платформах. Хоча я не в змозі прояснити цю справу.


Примітка відповідача : Я відповів наївно в той час, коли я не знаю, що це правильно чи неправильно, і між ними може бути відсутнім пояснення. Отже, ця відповідь тепер є вікі спільноти, щоб кожен, хто має мінімальну репутацію, міг покращити цю посаду, щоб повністю пояснити різницю.


оскільки обидва x86пов'язані коду магазину , яка різниця між x86кодом у двох каталогах?
— Річард

@Richard Я оновив свою відповідь як можна вище, наскільки мені відомо, як можна простіше. Моя відповідь може розглядатися як наївна, тому ви, можливо, захочете шукати кращу відповідь замість когось іншого.
— clearkimura
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.