Управление версиями ядра Linux: Debian Sid против Ubuntu Precise

9

Я настроил две машины:

На одной машине я установил бета-версию Ubuntu Precise 12.04 и обновил до последних пакетов.

На другой машине я установил Debian Sid Unstable и обновил до последних пакетов.

На машине с Ubuntu uname -a читает:

Linux 3.2.0-20-generic # 32-Ubuntu SMP Чт 22 марта 02:22:46 UTC 2012 x86_64 x86_64 x86_64 GNU / Linux

На машине Debian uname -a читает:

Linux 3.2.0-2-amd64 # 1 SMP Ср 28 марта 13:28:04 UTC 2012 x86_64 GNU / Linux

Мой вопрос о версиях ядра:

Ubuntu: 3.2.0-20-generic
Debian: 3.2.0-2-amd64

Версия 3.2 Linux была выпущена на:

linux-3.2.tar.gz         05-Jan-2012 00:40   94M

С тех пор было выпущено 13 точечных выпусков, 3.2.1 .. 3.2.13 от kernel.org и 3.3.

Мой вопрос об истории дерева исходных кодов двух ядер на двух моих машинах:

Из какого выпуска официального ядра kernel.org получены эти две версии ядра?

Как соотносятся исходники ядра Debian Sid с Ubuntu Precise?

Существуют ли изменения, сделанные в исходных кодах kernel.org для получения версии 3.2.0-2-amd64, также в 3.2.0-20-generic для Ubuntu?

Является ли ядро ​​Debian Sid "восходящим" по сравнению с ядром Ubuntu?

Что означает четвертый номер версии (после первой черты) «2» в случае Debian и «20» в случае Ubuntu - и как это относится к вышеописанному?

Андрей Томазос
источник

Ответы:

5

Ядро Ubuntu не совпадает с ядром апстрима, хотя номера версий могут быть похожи. Вы можете прочитать о ядре Ubuntu в Ubuntu Wiki, который отвечает на ваш первый и четвертый вопросы:

Beta-2 включает в себя ядро ​​Ubuntu 3.2.0-20.33, основанное на стабильном ядре Linux v3.2.12.

Ubuntu Kernel FAQ описывает нумерацию версий следующим образом:

Данная версия 2.6.35-6.9-genericможет быть разбита на четыре части, как показано ниже:

<base kernel version>-<ABI number>.<upload number>-<flavour> Базовая версия ядра представляет собой основную версию, на которой основано ядро ​​Ubuntu. Число ABI представляет значительные изменения в двоичном интерфейсе приложения ядра. Количество загрузок является монотонно увеличивающимся счетчиком для каждой загрузки этой базовой версии. Аромат указывает, какой вариант конфигурации ядра это

Вы также можете проверить соответствие версий ядра Ubuntu и Mainline для получения дополнительной информации о версиях ядра Ubuntu по сравнению с предыдущими версиями ядра.

pkhamre
источник
Если я не понял неправильно, вопросы будут Is the Debian Sid kernel "upstream" of the Ubuntu one?( Да ) и From which release of official kernel.org kernel are those two versions of the kernel derived?( 3.2.0 ) - не то, какой выпуск kernel.org больше всего похож на выпуск ubuntu, или какие исправления из выпуска kernel.org включены, что, я считаю, только усложняет проблема.
syserr0r
2

Ваши вопросы

From which release of official kernel.org kernel are those two versions of the kernel derived?
Ядро версии 3.2.0 .

What is the relationship of the sources of the Debian Sid kernel to the Ubuntu Precise one?
Обе они являются версиями Debian (без изменений в Ubuntu), пакет Debian (3.2.0-2) - версия 2 , пакет Ubuntu (3.2.0-20) - версия 20 .

Are the changes made from the kernel.org sources to produce 3.2.0-2-amd64 also present in 3.2.0-20-generic on Ubuntu?
Я не уверен, поскольку они (afaik) разные пакеты ( общие против конкретных amd64 ).

Is the Debian Sid kernel "upstream" of the Ubuntu one?
Да . Debian является апстримом Ubuntu. Изменения, сделанные в Ubuntu (обозначенные ревизиями, оканчивающимися -ubuntuXгде Xревизия), обычно объединяются обратно в Debian

Номера редакций

tl; dr version : номер после hypen - это номер редакции, предоставленный сопровождающим пакета после новых сборок / исправлений.

-

Для Debian число после дефиса - это Debian Revision Number[ источник ].
Для Ubuntu число после дефиса - Debian Revision Numberэто число, а число после -ubuntu(если оно существует) - это Ubuntu Revision Number[ источник-2 ].

Обычно число после дефиса является ревизией, которую предоставляет сопровождающий пакета .

К пакетам от разработчиков пакетов часто применяются различные исправления (например, для исправления несовместимости; исправления безопасности; незначительные улучшения; различные флаги сборки и т. Д.); Вот почему в вашем примере версия ядра 3.2.0 имеет несколько ревизий.

То, что одно выше другого, не обязательно означает, что оно новее, лучше или к нему применены все те же патчи. Это потому, что они могут быть разными сопровождающими (-ями) пакета, которые присматривают за пакетом в каждом дистрибутиве, и они могут (например) исправлять реже (что означает более низкий номер редакции), но все же включают в себя [некоторые или] все те же исправления ,

Примечание : Ubuntu основан на Debian, поэтому чаще всего в Ubuntu есть все патчи от Debian (и часто из более новой версии Debian, такой как тестирование).

Пакетные отношения

Произведено программное обеспечение (например, ядро). Это имеет версию ( 3.2.0 ). Сопровождающий пакета ( Dave ) для дистрибутива ( Debian ). Он берет программное обеспечение и упаковывает его в формате (.deb) в соответствии с рекомендациями дистрибутива. Это версия 3.2.0-1 из ядра , иначе ядро-3.2.0-1 .

Дейв не совсем следовал рекомендациям для дистрибутива, для которого он упаковывает ( Debian ), и поэтому должен внести некоторые изменения в пакет. Он делает это и представляет свою обновленную версию. Это ядро версии 3.2.0-2 , также известное как kernel-3.2.0-2 .

Тем временем ядро 3.2.1 , 3.2.2 полностью выпущено до 3.2.25 . Пакет, над которым работает Дэйв, все еще основан на 3.2.0 . Он скоро вернется к выпуску 3.2.25, но еще не скоро.

В то же время другому сопровождающему пакета ( Harry ) необходим такой же пакет для его дистрибутива ( Ubuntu ). Так как Debian и Ubuntu похожи; вместо того , чтобы делать все с нуля, он просто делает копию Dave «s ядро 3.2.0-2 и передает его. Гарри выпускает это в Ubuntu как 3.2.0-2 .

Затем Гарри хочет внести некоторые изменения в работу Дейва. Он вносит изменения и выпускает свой обновленный пакет. Это версия 3.2.0-2-ubuntu1

В этом примере:
Последняя версия kernel- 3.2.25.
Последняя версия kernelпакета для Debian - 3.2.0-2.
Последняя версия kernelпакета для Ubuntu - 3.2.0-2-ubuntu1.

syserr0r
источник
Ваша информация неверна. Версия ядра Ubuntu не обязательно совпадает с исходной версией ядра kernel.org. Ядро ubuntu 3.2.0-20.33 основано на ядре Linux версии upstream 3.2.12.
Пхамре
Это версия ядра, на которой основан пакет. Из самой Ubuntu вики . Изменения в основном ядре Linux часто исправляются сопровождающими пакета, но это не был вопрос.
syserr0r
Ситуация немного мутная. Согласно FAQ по ядру Ubuntu ( wiki.ubuntu.com/Kernel/… ), можно сделать вывод о базовой версии ядра из версии Ubuntu. Однако, на самом деле, нужно проверить / proc / version_signature или просмотреть список по адресу kernel.ubuntu.com/~kernel-ppa/info/kernel-version-map.html . Конкретные изменения см. В файле /usr/share/doc/linux-image-*/changelog.Debian.gz и сравните его с wiki.ubuntu.com/Kernel/FAQ/UbuntuDelta или получите дерево Ubuntu git.
Микко Ранталайнен