яка різниця між версією 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.