Что подразумевается под «ядром Ubuntu»? [дубликат]

Я думал, что все дистрибутивы Linux используют одно ядро ​​(разработанное Линусом Торвальдсом).

Так почему все дистрибутивы Linux имеют собственное ядро?

44
задан 1 August 2021 в 23:22

3 ответа

Посетив kernel.org , вы увидите, что существует несколько различных версий ядра.

Вкратце они таковы:

  • Основная линия: ядро ​​разработки, которое поддерживает Линус.
  • Стабильная: последняя стабильная ветка.
  • Долгосрочные: старые версии ядра с внесенными исправлениями безопасности.

Ядра Ubuntu обычно работают по тому же принципу.Когда выпускается версия Ubuntu, она обычно придерживается той версии ядра, которая была «стабильной» на момент выпуска (а затем стала «долгосрочной» поддерживаемой в этой версии Ubuntu).

Например, выпуск 18.04 (Bionic) находится в ветви ядра 4.15, а 20.04 (Focal) - в ветви ядра 5.4.

Позже в цикле выпуска могут быть доступны ядра «HWE» (поддержка оборудования), которые находятся в более новой ветке (например, Focal HWE находится в ветке 5.8). Все это часть экосистемы ядра Ubuntu, чтобы предоставить пользователям больше возможностей выбора.

Кроме того, существуют разные сборки ядра для разных платформ (облачные и barebone) - например, Azure, AWS, KVM, Raspi, RiscV и т. Д.

Эта (довольно занудная) таблица сопоставления показывает какие ядра Ubuntu соответствуют основным версиям ядра. Различные пакеты ядра также можно найти в списках пакетов Ubuntu .

7
ответ дан 20 August 2021 в 10:30

Несколько упрощенно:

Есть одно ядро ​​Linux, но разработка продолжается. Если вы сделаете снимки с разницей в несколько недель, вы обнаружите небольшие различия.

Различные дистрибутивы Linux делают свои снимки в разное время, и у каждого есть возможность добавить свой собственный секретный соус. Более незначительные отличия.

11
ответ дан 20 August 2021 в 10:30

Существует проект, начатый и возглавляемый Линусом Торвальдсом, который поддерживает исходный код ядра, называемого ядром Linux. Это то, что распространяется на kernel.org. Обратите внимание, что это не ядро, это исходный код - точно так же, как рецепт торта сам по себе не является тортом.

Чтобы приготовить торт, вы должны следовать рецепту шаг за шагом, смешать ингредиенты и испечь. Чтобы сделать ядро, нужно сконфигурировать исходный код для вашего компьютера и скомпилировать его. В зависимости от целевой архитектуры и выбранной конфигурации (а вариантов конфигурации очень много), в итоге получаются разные ядра. Не дико разные, но разные.

Далее, проект ядра Linux является проектом с открытым исходным кодом. Разрешается и поощряется, чтобы каждый мог получить свою собственную копию исходного кода, изменить его для собственного использования и распространять свою измененную копию - подобно тому, как вы могли унаследовать бабушкин рецепт пирога, который она адаптировала из старой поваренной книги, и у вас могут быть свои собственные вариации.

Хотя большинство людей не занимаются взломом своей личной версии исходного кода ядра, такие дистрибутивные проекты, как Ubuntu, Fedora, Slackware и т.д., распространяют свои собственные модифицированные версии ядра Linux. Часто модификации просты: исправления ошибок из более новых версий "восходящего" ядра и исправления безопасности, которые еще не попали в "восходящее" ядро. Но они могут быть любыми, которые, по мнению проекта дистрибутива, сделают его версию "лучше", по определению этого проекта.

Вот почему мы говорим о "ядре Ubuntu" как о чем-то отдельном от "ядра Linux" - потому что оно действительно отличается. Ядро Ubuntu поддерживается компанией Canonical. Оно построено на ядре Debian, которое само является дистрибутивом ядра Linux. Я не знаю всех различий между ядром Ubuntu и ядром Linux. (Не потому что это секрет, а потому что я просто не в курсе.) Я думаю, что на этой странице перечислены некоторые, а вот патчи для ядра Debian.

В конце концов, все ядра в основном одинаковы, и поэтому мы говорим о них как о Linux. Никому не выгодно изменять свое ядро настолько, что оно становится дико несовместимым. Дистрибутивы отличаются гораздо больше в разнообразии программ, которые они распространяют вместе со своим ядром, чтобы создать целую операционную систему.

87
ответ дан 20 August 2021 в 10:30

Другие вопросы по тегам:

Похожие вопросы: