На этот вопрос уже есть ответ здесь:
При просмотре номеров версий ядра, установленных в / 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.
Называя 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.
Используя w.xx.y-zzz и рассмотрение четвертого перечисленного файла /boot/vmlinuz-4.4.0-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.
Вышеупомянутые определения прибывают из: (Нумерация Версии ядра), опубликованный 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
От wiki.ubuntu
мы учимся:
ABI обозначает Двоичный интерфейс приложений. Для ядра это сводится к экспортируемым функциям, которые модули (иначе драйверы) могут использовать, чтобы сделать вещи в пространстве ядра. Большинство этих экспортируемых функций доступно непосредственно от ядра (vmlinux), но хорошая часть также экспортируется из других модулей. Эти функции позволяют модулям использовать подсистемы в ядре для управления памятью, интерфейсов устройства, файловые системы (VFS), сетевые стеки, и т.д.
Из, возможно, самого категорического источника (wikipedia.org - Нумерация Версии Ядра Linux) мы учимся:
Ядро Linux имело три различных нумерации. Подводить итог: