Большинство дистрибутивов Linux поставляются с определенной версией ядра и обновляют ее только в точечных выпусках ( x.y.z
до x.y.(z+1)
) и для обновлений безопасности.
С другой стороны, я знаю, что в Linux действует очень строгая политика: не менять ABI ядра и никогда не нарушать пространство пользователя. Фактически, у Линуса было много публичных истерик, направленных на разработчиков, которые хотели (намеренно или случайно) изменить ядро несовместимыми способами.
Я не понимаю, почему в дистрибутивах используются «стабильные» ядра вместо того, чтобы всегда обновляться до последнего ядра. Это не критика, мне просто любопытно, почему.
linux
linux-kernel
imgx64
источник
источник
Ответы:
Интерфейсы системных вызовов ядра Linux очень стабильны. Но у ядра есть другие интерфейсы, которые не всегда совместимы.
/proc
в основном стабильный, но в прошлом произошли некоторые изменения (например, некоторые интерфейсы перенесены на/sys
некоторое время после/sys
создания)./sys
содержит некоторые стабильные интерфейсы (перечислены вDocumentation/ABI/stable
), а некоторые нет. Вы не должны использовать те, которые нет, но иногда это делают люди, и простое обновление безопасности и стабильности не должно сломать их.В общем, основная причина не переходить на более новую версию ядра - сторонние модули.
Тем не менее, некоторые дистрибутивы предлагают последние версии ядер в качестве опции. Например, Debian делает ядра из тестирования доступными для пользователей стабильного выпуска через backports. Аналогичным образом, в Ubuntu LTS доступны ядра из более свежих выпусков Ubuntu, но они не используются по умолчанию. Это в основном полезно для новых установок на оборудовании, которое еще не поддерживалось на момент завершения распространения.
источник
Я не работаю на дистрибутив, но могу придумать как минимум две причины:
источник
Более стабильные дистрибутивы следуют (и активно участвуют) в стабильных версиях ядра, ради стабильности. Более предприимчивые используют ядро на одну версию или около того позади последней и самой лучшей ванили, плюс разбрызгивание патчей, портированных из подсказки разработчика (и некоторых отечественных).
Текущая политика разработки ядра такова, что версия Линуса идет вперед с блестящими, новыми игрушками и не боится оптовых изменений. Некоторые версии считаются достаточно стабильными (с точки зрения разработки), чтобы сформировать основу для строгого тестирования и стабилизации, давая стабильные серии.
Все это возможно благодаря используемым инструментам, каждый может подготовить свое собственное git- дерево, локально синхронизировать интересные ветки и деревья вверх по течению, воровать коммиты от других и свободно делиться локальными изменениями.
источник