¿Cuál es la diferencia entre el lanzamiento y la versión de kernel / distribution?

14

Utilizo el siguiente comando para ver el nombre, la versión y la versión de un núcleo.

-bash-4.1$ uname -s 
Linux
-bash-4.1$ uname -r
2.6.32-279.el6.x86_64
-bash-4.1$ uname -v
#1 SMP Wed Jun 13 18:24:36 EDT 2012

¿Cuál es la diferencia y la relación entre la versión y la versión del kernel? ¡Gracias!

Pregunta similar para una distribución de Linux (por ejemplo, Ubuntu, Mint, ...)? Es decir, ¿cuál es la diferencia y la relación entre el lanzamiento y la versión de una distribución de Linux?

Tim
fuente

Respuestas:

11

uname -r

La primera es la cadena de versión que se usó cuando se compiló el núcleo. Ese es el papel de -r.

$ uname -r
3.13.7-100.fc19.x86_64

Esta cadena puede ser un poco confusa, pero la parte base (todo antes del primer guión) es parte de la versión real del kernel de Linux que está utilizando. El resto está relacionado con las opciones de empaque que se seleccionaron.

¿Qué quiero decir con esto?

  1. Bueno, en el escenario anterior, 3.13.7 sería la versión real del núcleo.
  2. El -100 le dice que el empaquetador de Fedora le aplicó varios conjuntos de parches, y están rastreando estos conjuntos de parches adicionales agregando un número para realizar un seguimiento de ellos y también denotan que este núcleo es un núcleo base de 3.13.7 + todo lo que es parte de este -100 .
  3. El kernel fue empaquetado para la versión 19 de Fedora ( fc19 ).
  4. Se empaquetó para la arquitectura * x86_64 * (64 bits).

uname -v

Porque -vte muestra cuándo se compiló / compiló el núcleo.

$ uname -v
#1 SMP Mon Mar 24 21:53:16 UTC 2014

En mi sistema Fedora 19, puede convencerse de que esto es realmente cierto al observar cuándo el paquete del núcleo se compiló realmente a través de RPM.

$ rpm -qi kernel-$(uname -r) | grep -E "Build Date"
Build Date  : Mon 24 Mar 2014 06:31:17 PM EDT

Las fechas de compilación difieren ligeramente ya que uname -ves lo que se "quemó" en el núcleo cuando se compiló. La fecha de compilación en el RPM es desde cuando el RPM tenía el tiempo de compilación del núcleo grabado durante la construcción del paquete.

slm
fuente
2

Suelte la siguiente versión del kernel con la información específica del paquete / lanzamiento agregada. Si seguimos su ejemplo 2.6.32-279.el6.x86_64, esto significa:

  • 2.6.32 Kernel de Linux, esta es la versión base y le indica la versión del kernel de Linux en la mayoría de las distribuciones y paquetes.
  • 279 es esta versión de lanzamiento específica del paquete. el6sugiere su Enterprise Linux (RHEL / CentOS). Lo que sucede en estas distribuciones es que usan la misma versión del kernel, solo respaldan parches importantes y solo aumentan el número de paquete cada vez para que su administrador de paquetes pueda actualizarlo. Esta etiqueta de versión es específica de distribución y puede variar entre diferentes distribuciones y administradores de paquetes. Se elige en tiempo de compilación.

La versión muestra que se compiló el núcleo.

phoops
fuente