В операционной системе на базе Linux мы можем найти релиз ядра и версию ядра. Так в чем же разница между версией и выпуском ?
2 ответа
Я не согласен с ответом SLM «s, воспроизведенным BrotskyTV. Сайт ядра Linux идентифицирует версию с прогрессивным номером, как и все, что предшествует тире в выходных данных ниже,
$ uname -r
3.16.0-53-generic
т.е. 3.16.0. В то же время он определяет выпуск как одну категорию из четырех:
Prepatch
Подготовительные ядра или "RC" - это предварительные выпуски основного ядра, которые в основном предназначены для других разработчиков ядра и энтузиастов Linux. Они должны быть скомпилированы из исходного кода и обычно содержат новые функции, которые необходимо протестировать, прежде чем их можно будет поместить в стабильный выпуск. Подготовительные ядра поддерживаются и выпускаются Линусом Торвальдсом.
магистраль
Основное дерево поддерживается Линусом Торвальдсом. Это дерево, где вводятся все новые функции и где происходят все новые захватывающие разработки. Новые основные ядра выпускаются каждые 2-3 месяца.
стабильный
После выпуска каждого основного ядра оно считается "стабильным". Любые исправления ошибок для стабильного ядра переносятся из основного дерева и применяются назначенным сопровождающим ядра. Обычно есть только несколько выпусков ядра с исправлениями ошибок, пока не станет доступно следующее основное ядро - если только оно не обозначено как "ядро долгосрочного обслуживания". Стабильные обновления ядра выпускаются по мере необходимости, обычно 2-3 раза в месяц.
Долговременная
Обычно существует несколько выпусков ядра с "долгосрочным обслуживанием", предназначенных для бэкпортинга исправлений для старых деревьев ядра. К таким ядрам применяются только важные исправления ошибок, и они обычно не видят очень частые выпуски, особенно для старых деревьев.
Это официальные обозначения релиза. Однако вряд ли у вас будет какой-либо из них, потому что есть и пятый вид релиза. Опять же согласно ранее упомянутой странице,
Распределение ядер
Многие дистрибутивы Linux предоставляют свои собственные ядра для долгосрочного обслуживания, которые могут основываться или не основываться на тех, которые поддерживаются разработчиками ядра. Эти выпуски ядра не размещаются на kernel.org, и разработчики ядра не могут обеспечить их поддержку.
Легко сказать, используете ли вы ядро дистрибутива. Если вы не скачали, не скомпилировали и не установили свою версию ядра с сайта kernel.org, вы используете ядро дистрибутива. Чтобы узнать версию вашего ядра, запустите uname -r:
# uname -r
3.7.5-201.fc18.x86_64
Если вы видите что-либо после тире, вы используете ядро дистрибутива. Пожалуйста, используйте каналы поддержки, предлагаемые вашим поставщиком дистрибутива, чтобы получить поддержку ядра.
Если вы хотите узнать, на каком официальном выпуске основано ваше дистрибутивное ядро, есть один такой список на главной странице ядра Linux.
uname -r
Первая - это строка версии, которая использовалась при компиляции ядра. Это роль -р.
$ uname -r
3.13.7-100.fc19.x86_64
Эта строка может немного запутать, но базовая часть (все до первой черты) - это часть используемой вами версии ядра Linux. Остальное связано с выбранными вариантами упаковки.
Что я имею в виду под этим?
Хорошо в вышеупомянутом сценарии 3.13.7 была бы фактической версией ядра. -100 сообщает вам, что различные пакеты исправлений были применены к нему упаковщиком Fedora, и они отслеживают эти дополнительные наборы исправлений, добавляя число, чтобы отслеживать их, а также обозначают, что это ядро является базовым ядром версии 3.13.7. + все, что является частью этого -100. Ядро было упаковано для версии 19 Fedora (fc19). Он был упакован для архитектуры x86_64 (64-bit).
uname -v
Для -v он показывает, когда ядро было скомпилировано / собрано.
$ uname -v
#1 SMP Mon Mar 24 21:53:16 UTC 2014
На моей системе Fedora 19 вы можете убедиться, что это действительно так, посмотрев, когда пакет ядра был собран с помощью RPM.
$ rpm -qi kernel-$(uname -r) | grep -E "Build Date"
Build Date : Mon 24 Mar 2014 06:31:17 PM EDT
Даты сборки немного различаются, так как uname -v - это то, что "записывалось" в ядро при компиляции. Дата сборки в RPM - это дата, когда во время сборки пакета в RPM было записано время компиляции ядра.