Versiones del kernel de Linux: Debian Sid vs Ubuntu Precise

9

He configurado dos máquinas:

En una máquina, instalé Ubuntu Precise 12.04 beta y actualicé a los paquetes más recientes.

En la otra máquina, instalé Debian Sid Unstable y actualicé a los paquetes más recientes.

En la máquina Ubuntu, uname -a lee:

Linux 3.2.0-20-generic # 32-Ubuntu SMP jue 22 de marzo 02:22:46 UTC 2012 x86_64 x86_64 x86_64 GNU / Linux

En la máquina Debian, uname -a dice:

Linux 3.2.0-2-amd64 # 1 SMP Mié 28 de marzo 13:28:04 UTC 2012 x86_64 GNU / Linux

Mi pregunta es sobre las versiones del kernel:

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

La versión 3.2 de Linux se lanzó en:

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

Desde entonces ha habido 13 lanzamientos puntuales, 3.2.1 .. 3.2.13 de kernel.org y 3.3 lanzados.

Mi pregunta es sobre la historia del árbol fuente de los dos núcleos en mis dos máquinas:

¿De qué versión del kernel oficial kernel.org se derivan esas dos versiones del kernel?

¿Cuál es la relación de las fuentes del núcleo Debian Sid con el Ubuntu Precise?

¿Los cambios realizados desde las fuentes kernel.org para producir 3.2.0-2-amd64 también están presentes en 3.2.0-20-generic en Ubuntu?

¿El núcleo de Debian Sid es "upstream" del Ubuntu?

¿Qué significa el cuarto número de versión (después del primer guión) "2" en el caso de Debian y "20" en el caso de Ubuntu, y cómo se relaciona con lo anterior?

Andrew Tomazos
fuente

Respuestas:

5

El kernel de Ubuntu no es lo mismo que el kernel ascendente, aunque los números de versión pueden ser similares. Puede leer sobre el Kernel de Ubuntu en Ubuntu Wiki, que responde a su primera y cuarta pregunta:

Beta-2 incluye el kernel 3.2.0-20.33 Ubuntu que se basa en el kernel estable de Linux v3.2.12.

Las preguntas frecuentes del kernel de Ubuntu describen la numeración de versiones de la siguiente manera:

Dada una versión como 2.6.35-6.9-genericesta se puede dividir en cuatro partes como a continuación:

<base kernel version>-<ABI number>.<upload number>-<flavour> La versión del núcleo base representa la versión principal en la que se basa el kernel de Ubuntu. El número ABI representa cambios significativos en la interfaz binaria de la aplicación del núcleo. El número de carga es un contador que aumenta monotónicamente para cada carga de esta versión base. El sabor indica qué variante de configuración del núcleo es

También puede consultar la asignación de versiones de kernel de Ubuntu a Mainline para obtener más información sobre las versiones de kernel de ubuntu frente a las versiones de kernel anteriores.

pkhamre
fuente
A menos que haya entendido mal, las preguntas son Is the Debian Sid kernel "upstream" of the Ubuntu one?( ) y From which release of official kernel.org kernel are those two versions of the kernel derived?( 3.2.0 ): no cuál versión de kernel.org es más similar a la versión de ubuntu, o qué parches de la versión de kernel.org están incorporados, lo que creo solo sirve para complicar la cuestión.
syserr0r
2

Tus preguntas

From which release of official kernel.org kernel are those two versions of the kernel derived?
Kernel versión 3.2.0 .

What is the relationship of the sources of the Debian Sid kernel to the Ubuntu Precise one?
Ambas son versiones de Debian (sin cambios de Ubuntu), el paquete Debian (3.2.0-2) es la revisión 2 , el paquete Ubuntu (3.2.0-20) es la revisión 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?
No estoy seguro de que sean (afaik) paquetes diferentes ( genéricos frente a amd64 específicos ).

Is the Debian Sid kernel "upstream" of the Ubuntu one?
. Debian es una cadena ascendente de Ubuntu. Los cambios realizados por Ubuntu (significados por revisiones que terminan -ubuntuXdonde Xes una revisión) normalmente se fusionan de nuevo en Debian

Números de revisiones

Versión tl; dr : el número después de la advertencia es el número de revisión proporcionado por el mantenedor del paquete después de nuevas compilaciones / parches.

-

Para Debian, el número después del guión es el Debian Revision Number[ fuente ].
Para Ubuntu, el número después del guión es el Debian Revision Numbery el número después del-ubuntu (si existe) es la Ubuntu Revision Number[ fuente-2 ]

Generalmente, el número después del guión es la revisión que da el mantenedor del paquete .

Los paquetes de los mantenedores de paquetes a menudo tienen parches de varios tipos aplicados (por ejemplo, para corregir incompatibilidades; correcciones de seguridad; mejoras menores; diferentes indicadores de compilación, etc.); Por eso, en su ejemplo, la versión 3.2.0 del núcleo tiene múltiples revisiones.

El hecho de que uno sea más alto que el otro no significa necesariamente que sea más nuevo, mejor o que tenga todos los mismos parches aplicados. Esto se debe a que pueden ser diferentes mantenedores del paquete que se ocupan del paquete en cada distribución y pueden (por ejemplo) parchear con menos frecuencia (es decir, un número de revisión más bajo) pero aún incorporar [algunos o] todos los mismos parches .

Nota : Ubuntu se basa en Debian, por lo que la mayoría de las veces Ubuntu tiene todos los parches de Debian (y a menudo de una versión más reciente de Debian, como las pruebas)

Relaciones de paquete

Se crea una pieza de software (por ejemplo, kernel). Esto tiene una versión ( 3.2.0 ). Un mantenedor de paquetes ( Dave ) para una distribución ( Debian ). Toma el software y lo empaqueta en un formato (.deb) de acuerdo con las pautas de la distribución. Esta es la versión 3.2.0-1 del kernel , también conocida como kernel-3.2.0-1 .

Dave no ha seguido las pautas para la distribución para la que está empaquetando ( Debian ) y, por lo tanto, tiene que hacer algunos cambios en el paquete. Él hace esto y envía su versión actualizada. Esta es la versión 3.2.0-2 del kernel, también conocida como kernel-3.2.0-2 .

Mientras tanto , se han lanzado los núcleos 3.2.1 , 3.2.2 hasta 3.2.25 . El paquete en el que Dave está trabajando todavía se basa en 3.2.0 . Pronto lanzará 3.2.25 pero aún no.

Al mismo tiempo, otro mantenedor de paquetes ( Harry ) necesita el mismo paquete para su distribución ( Ubuntu ). Dado que Debian y Ubuntu son similares; en lugar de hacer todo desde cero, solo toma una copia del kernel 3.2.0-2 de Dave y la envía. Harry lanza esto a Ubuntu como 3.2.0-2 .

Harry luego quiere hacer algunos cambios en el trabajo de Dave. Él hace los cambios y lanza su paquete actualizado. Esta es la versión 3.2.0-2-ubuntu1

En este ejemplo: La
última versión del paquete kerneles 3.2.25 La
última versión del kernelpaquete para Debian es 3.2.0-2 La
última versión del kernelpaquete para Ubuntu es 3.2.0-2-ubuntu1

syserr0r
fuente
Tu información es incorrecta. La versión kernel de ubuntu no es necesariamente la misma que el kernel ascendente de kernel.org. El kernel ubuntu 3.2.0-20.33 se basa en el kernel Linux 3.2.12 ascendente.
pkhamre
Es la versión del núcleo en la que se basa el paquete. Desde el wiki de Ubuntu en sí. Los cambios de la línea principal del núcleo de Linux a menudo son traídos como parches por los mantenedores de paquetes, pero esa no era la pregunta.
syserr0r
La situación es un poco turbia. De acuerdo con las preguntas frecuentes del kernel de Ubuntu ( wiki.ubuntu.com/Kernel/… ) se puede inferir la versión del kernel base a partir de la versión de Ubuntu. Sin embargo, en realidad, uno debe verificar / proc / version_signature o consultar la lista en kernel.ubuntu.com/~kernel-ppa/info/kernel-version-map.html . Para ver cambios específicos, consulte el archivo /usr/share/doc/linux-image-*/changelog.Debian.gz y compárelo con wiki.ubuntu.com/Kernel/FAQ/UbuntuDelta o busque el árbol git de Ubuntu.
Mikko Rantalainen