Как называются компоненты номера версии ядра (w.x.yy-zzz)? [дубликат]

На этот вопрос уже есть ответ здесь:

При просмотре номеров версий ядра, установленных в / boot с помощью команды незавершенной работы ( find / boot / vm * -printf "% A @% p \ n" ), я вижу:

1469098968.0000000000 /boot/vmlinuz-3.13.0-92-generic
1477523408.0000000000 /boot/vmlinuz-3.2.0-113-generic
1476549941.0000000000 /boot/vmlinuz-4.4.0-43-generic
1477008540.0000000000 /boot/vmlinuz-4.4.0-45-generic
1470540722.0000000000 /boot/vmlinuz-4.6.3-040603-generic
1471805944.0000000000 /boot/vmlinuz-4.7.1-040701-generic
1472208664.0000000000 /boot/vmlinuz-4.7.2-040702-generic
1473382012.0000000000 /boot/vmlinuz-4.7.3-040703-generic
1474853146.0000000000 /boot/vmlinuz-4.7.5-040705-generic
1475960925.0000000000 /boot/vmlinuz-4.8.1-040801-generic
1477145804.0000000000 /boot/vmlinuz-4.8.4-040804-generic

Каковы собственные имена для «w.xx.y-zzz», следующего за префиксом vmlinuz ?

Предлагаемая дублирующая ссылка ( Что означает четвертый номер в версии выпуска mean? ) говорится, что второй сегмент называется ABI Number . В приведенном ниже ответе Муру говорится, что четвертый сегмент - это номер ABI , однако я считаю, что оба они неверны, основываясь на ссылках, приведенных в моем собственном ответе ниже.

Имейте в виду, что этот вопрос касается ВСЕХ четырех сегментов w.x.yy-zzz, а не только четвертого сегмента zzz.

2
задан 13 April 2017 в 15:24

2 ответа

Называя w версию, x главная версия и y незначительный пересмотр является семантическим управлением версиями с помощью значения изменения. Linux не использовал то семантическое управление версиями в долгое время. До 2003 Linux использовал нечетно-ровные версии (нечетные числа нестабильны, четные числа стабильны). И затем прибыл 2.6, который продлился геологический возраст в условиях программного обеспечения (до 2.6.39, 8 лет).

Затем в значительной степени произвольно Linus ударил версию к 3,0. И это закончило всю применимость того семантического управления версиями для версий Linux. И когда 3.20 было должно, Linus, переключенный на простое постепенное увеличение w каждый раз, когда x стал достаточно большим, что у него закончились пальцы и пальцы ног для подсчета его.

Так, теперь, версия ядра просто w.x, y от восходящего потока указывает на выпущенный патч - Ubuntu просто сохраняет его 0, и z, как уже отмечено, является числом ABI.

9
ответ дан 2 December 2019 в 01:26

Версия ядра. Главная версия. Незначительный пересмотр - патч

Используя w.xx.y-zzz и рассмотрение четвертого перечисленного файла /boot/vmlinuz-4.4.0-45 мы можем сказать:

  • w = Версия ядра = 4
  • xx = Главная версия = 4
  • y = Незначительный Пересмотр = 0
  • число zzz=Patch = 45

Если кто-то использует 4.8.0 с которым Ubuntu 16.10 поставлется и встречается с экранным мерцанием, они могли бы сказать, что "Я использовал предыдущую версию 4.4.0-45" (который Ubuntu 16.04 использует) решить проблему.

В терминах неспециалиста корректно, но технически это было снижение четыре уровня главной версии (4.8.y-z) к (4.4.y-z). С технической точки зрения для перемещения от версии 4.8 ядра до предыдущей версии ядра это должны были бы быть 3,2 или 3,13 использования шоу списка файлов в OP.

Редактирование - смены имени Сегмента после Ядра 3.0

Вышеупомянутые определения прибывают из: (Нумерация Версии ядра), опубликованный 9 мая 2006, но являются теперь устаревшими.

Как дублирующаяся ссылка комментария (Что делает четвертое число в средней версии выпуска?) указывает, что новые имена:

<base kernel version>.<ABI number>.<upload number>-<flavour>

Предложенный дубликат, кажется, является неправильным, потому что второй сегмент в Номере версии Ядра, кажется, не имеет никакого отношения ABI. В другом ответе, отправленном в этом потоке, четвертый сегмент связывается с ABI но это не кажется правильным также. Вот верхняя часть списка изменений ABI от (Ядро Linux Временная шкала ABI):

                ----- Symbols -----
Version Date    Added Removed Total
4.8.1   2016-10-07  141 50  1470
4.7.2   2016-08-20  170 42  881
4.6.1   2016-06-01  159 52  924
4.5.6   2016-06-01  146 41  994
4.4.5   2016-03-10  87  40  994
4.3.6   2016-02-20  166 51  1231
4.2.8   2015-12-15  213 75  1768
4.1.19  2016-03-05  204 88  1760
4.0.9   2015-07-21  159 53  822
3.19.8  2015-05-11  207 44  1146
3.18.28 2016-03-05  147 56  867
3.17.8  2015-01-08  165 46  688
3.16.7  2014-10-30  155 55  943
3.15.10 2014-08-14  129 98  1051
3.14.64 2016-03-10  279 91  1019
3.13.11 2014-04-23  140 99  822
3.12.56 2016-03-04  171 77  994

Число ABI

От wiki.ubuntu мы учимся:

ABI обозначает Двоичный интерфейс приложений. Для ядра это сводится к экспортируемым функциям, которые модули (иначе драйверы) могут использовать, чтобы сделать вещи в пространстве ядра. Большинство этих экспортируемых функций доступно непосредственно от ядра (vmlinux), но хорошая часть также экспортируется из других модулей. Эти функции позволяют модулям использовать подсистемы в ядре для управления памятью, интерфейсов устройства, файловые системы (VFS), сетевые стеки, и т.д.

Сводка нумерации версии ядра Linux

Из, возможно, самого категорического источника (wikipedia.org - Нумерация Версии Ядра Linux) мы учимся:

Ядро Linux имело три различных нумерации. Подводить итог:

  • Первая схема привыкла в подготовительном периоде к "1,0". Первая версия ядра была 0.01. Это сопровождалось 0,02, 0.03, 0.10, 0.11, 0.12 (первая версия GPL), 0.95, 0.96, 0.97, 0.98, 0.99 и затем 1.0. [303] От 0,95 на между версиями было много выпусков патча.
  • После этих 1,0 выпусков и до версии 2.6, число было составлено как "a.b.c", где номер "a" обозначил версию ядра, номер "b" обозначил главную версию ядра, и номер "c" указал на незначительный пересмотр ядра.
  • В 2004, после того, как версия 2.6.0 была выпущена, разработчики ядра держали несколько обсуждений относительно выпуска и схемы [304] [305] версии, и в конечном счете Linus Torvalds и другие решили, что намного более короткий "основанный на времени" цикл выпуска будет выгоден.
3
ответ дан 2 December 2019 в 01:26

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

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