Versionnage du noyau Linux: Debian Sid vs Ubuntu Precise

9

J'ai installé deux machines:

Sur une machine, j'ai installé Ubuntu Precise 12.04 beta et mis à niveau vers les derniers packages.

Sur l'autre machine, j'ai installé Debian Sid Unstable et mis à niveau vers les derniers packages.

Sur la machine Ubuntu, uname -a indique:

Linux 3.2.0-20-generic # 32-Ubuntu SMP Thu Mar 22 02:22:46 UTC 2012 x86_64 x86_64 x86_64 GNU / Linux

Sur la machine Debian uname -a lit:

Linux 3.2.0-2-amd64 # 1 SMP mer 28 mars 13:28:04 UTC 2012 x86_64 GNU / Linux

Ma question concerne les versions du noyau:

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

La version 3.2 de Linux est sortie le:

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

Depuis lors, il y a eu 13 versions ponctuelles, 3.2.1 .. 3.2.13 de kernel.org et 3.3 publiées.

Ma question concerne l'histoire de l'arborescence source des deux noyaux sur mes deux machines:

De quelle version du noyau kernel.org officiel dérivent ces deux versions du noyau?

Quelle est la relation entre les sources du noyau Debian Sid et celui d'Ubuntu Precise?

Les modifications apportées à partir des sources kernel.org pour produire 3.2.0-2-amd64 sont-elles également présentes dans 3.2.0-20-generic sur Ubuntu?

Le noyau Debian Sid est-il "en amont" de celui d'Ubuntu?

Que signifie le quatrième numéro de version (après le premier tiret) "2" dans le cas de Debian et "20" dans le cas d'Ubuntu - et comment est-il lié à ce qui précède?

Andrew Tomazos
la source

Réponses:

5

Le noyau Ubuntu n'est pas le même que le noyau en amont, bien que les numéros de version puissent être similaires. Vous pouvez lire sur le noyau Ubuntu dans le wiki Ubuntu qui répond à votre première et votre quatrième question:

La bêta-2 inclut le noyau Ubuntu 3.2.0-20.33 qui est basé sur le noyau Linux stable en amont v3.2.12.

La FAQ du noyau Ubuntu décrit la numérotation des versions comme suit:

Étant donné une version comme 2.6.35-6.9-genericcelle-ci, elle peut être divisée en quatre parties comme ci-dessous:

<base kernel version>-<ABI number>.<upload number>-<flavour> La version de base du noyau représente la version principale sur laquelle le noyau Ubuntu est basé. Le numéro ABI représente des changements importants dans l'interface binaire d'application du noyau. Le numéro de téléchargement est un compteur à augmentation monotone pour chaque téléchargement de cette version de base. La saveur indique de quelle variante de configuration du noyau il s'agit

Vous pouvez également vérifier le mappage de version du noyau Ubuntu vers Mainline pour plus d'informations sur les versions du noyau ubuntu par rapport aux versions du noyau en amont.

pkhamre
la source
À moins que je ne comprenne mal, les questions sont Is the Debian Sid kernel "upstream" of the Ubuntu one?( Oui ) et From which release of official kernel.org kernel are those two versions of the kernel derived?( 3.2.0 ) - pas quelle version de kernel.org est la plus similaire à la version d'ubuntu, ou quels correctifs de la version de kernel.org sont incorporés, ce qui, je pense, ne sert qu'à compliquer le problème.
syserr0r
2

Vos questions

From which release of official kernel.org kernel are those two versions of the kernel derived?
Version du noyau 3.2.0 .

What is the relationship of the sources of the Debian Sid kernel to the Ubuntu Precise one?
Ce sont deux versions de Debian (pas de changements Ubuntu), le paquet Debian (3.2.0-2) est la révision 2 , le paquet Ubuntu (3.2.0-20) est la révision 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?
Je ne suis pas sûr car ce sont (afaik) différents packages ( génériques vs spécifiques à amd64 ).

Is the Debian Sid kernel "upstream" of the Ubuntu one?
Oui . Debian est en amont d'Ubuntu. Les modifications apportées par Ubuntu (signifiées par des révisions se terminant par -ubuntuXXest une révision) sont normalement réintégrées dans Debian

Numéros de révision

tl; dr version : Le nombre après l'hypen est le numéro de révision donné par le responsable du paquet après de nouvelles versions / patchs.

-

Pour Debian, le nombre après le tiret est le Debian Revision Number[ source ]
Pour Ubuntu, le numéro après l'hypène est le Debian Revision Numberet le nombre après le -ubuntu(s'il existe) est le Ubuntu Revision Number[ source-2 ]

Généralement, le nombre après le tiret est la révision donnée par le responsable du package .

Les paquets des mainteneurs de paquets ont souvent des correctifs de différents types qui leur sont appliqués (comme pour corriger les incompatibilités; correctifs de sécurité; améliorations mineures; différents drapeaux de construction, etc.); c'est pourquoi dans votre exemple, la version 3.2.0 du noyau comporte plusieurs révisions.

Le fait que l'un soit plus élevé que l'autre ne signifie pas nécessairement qu'il est plus récent, meilleur ou que les mêmes correctifs sont appliqués. En effet, il peut s'agir de différents responsables de package qui s'occupent du package sur chaque distribution et ils peuvent (par exemple) patcher moins fréquemment (ce qui signifie un numéro de révision inférieur) mais incorporer toujours [certains ou] tous les mêmes patchs .

Remarque : Ubuntu est basé sur Debian, donc le plus souvent Ubuntu a tous les correctifs de Debian (et souvent d'une version plus récente de Debian telle que testing)

Relations de package

Un logiciel est créé (par exemple, le noyau). Cela a une version ( 3.2.0 ). Un mainteneur de paquet ( Dave ) pour une distribution ( Debian ). Il prend le logiciel et le conditionne dans un format (.deb) selon les directives de la distribution. Il s'agit de la version 3.2.0-1 du noyau , alias kernel-3.2.0-1 .

Dave n'a pas tout à fait suivi les directives de la distribution pour laquelle il compile ( Debian ) et doit donc apporter quelques modifications au paquet. Il le fait et soumet sa version mise à jour. Il s'agit de la version 3.2.0-2 du noyau, alias kernel-3.2.0-2 .

Dans l'intervalle, le noyau 3.2.1 , 3.2.2 jusqu'à 3.2.25 a été publié. Le paquet sur lequel Dave travaille est toujours basé sur 3.2.0 . Il va bientôt sortir la version 3.2.25 mais pas encore.

En même temps, un autre mainteneur de paquet ( Harry ) a besoin du même paquet pour sa distribution ( Ubuntu ). Depuis Debian et Ubuntu sont similaires; au lieu de tout faire à partir de zéro, il prend juste une copie du noyau de Dave 3.2.0-2 et la soumet. Harry publie ceci sur Ubuntu en 3.2.0-2 .

Harry veut ensuite apporter quelques modifications au travail de Dave. Il apporte les modifications et publie son package mis à jour. Ceci est la version 3.2.0-2-ubuntu1

Dans cet exemple: La
dernière version de kernelest 3.2.25 La
dernière version du kernelpaquet pour Debian est 3.2.0-2 La
dernière version du kernelpaquet pour Ubuntu est 3.2.0-2-ubuntu1

syserr0r
la source
Vos informations sont fausses. La version du noyau ubuntu n'est pas nécessairement la même que le noyau en amont de kernel.org. Le noyau ubuntu 3.2.0-20.33 est basé sur le noyau linux 3.2.12 en amont.
pkhamre
C'est la version du noyau sur laquelle le package est basé. À partir du wiki Ubuntu lui-même. Les changements par rapport au noyau linux principal sont souvent récupérés sous forme de correctifs par les responsables du paquet, mais ce n'était pas la question.
syserr0r
La situation est un peu boueuse. Selon la FAQ du noyau Ubuntu ( wiki.ubuntu.com/Kernel/… ), on peut déduire la version de base du noyau à partir de la version Ubuntu. Cependant, en réalité, il faut vérifier / proc / version_signature ou consulter la liste sur kernel.ubuntu.com/~kernel-ppa/info/kernel-version-map.html . Pour des modifications spécifiques, consultez le fichier /usr/share/doc/linux-image-*/changelog.Debian.gz et comparez-le à wiki.ubuntu.com/Kernel/FAQ/UbuntuDelta ou récupérez l'arborescence git Ubuntu.
Mikko Rantalainen