Si ha sido usuario de Linux durante mucho tiempo, sabrá que las distribuciones de Linux tienen versiones únicas y cada versión tiene un nombre en clave específico. El kernel de Linux también tiene diferentes números de versión, que actúan como un identificador de la serie a la que pertenece el kernel. Sin embargo, hay una diferencia entre cómo se formaron antes las versiones del kernel y cómo Linus Torvalds las nombra ahora.
Al final, estará más familiarizado con el esquema de versiones del kernel de Linux y se sentirá más cómodo leyendo los números de versión del kernel e identificando las diversas características asociadas con un liberación específica.
El control de versiones tradicional del kernel de Linux
Cuando Linus comenzó a desarrollar el kernel por primera vez, el sistema de control de versiones utilizado simplemente consistía en un esquema de variables incrementales que comenzaba con cero (0.x). Inicialmente, Linus era el único que trabajaba en el proyecto, y este sistema de versiones cubría la necesidad de documentar y distribuir nuevas versiones del kernel.
Estas son algunas de las versiones del kernel que siguieron este esquema de nombres:
Más tarde, a medida que más desarrolladores comenzaron a contribuir al proyecto y la cantidad de revisiones y parches aumentó significativamente, se decidió que este esquema de control de versiones no era adecuado para software como un núcleo. Y a partir de la versión 1.0, Linus adoptó un nuevo esquema con algunas variables adicionales.
Introducción de un sistema de control de versiones más descriptivo
En 1994, con el lanzamiento del kernel 1.00 de Linux, Linus comenzó a usar un nuevo sistema de control de versiones que empleaba tres variables en la sintaxis: "a B C". Estas variables (a, b y c) representan la versión principal, la versión secundaria y el número de revisión para la versión específica del kernel, respectivamente.
Tome el kernel de Linux 1.1.95 como ejemplo. Puede decodificarlo como la primera versión principal, la primera versión secundaria y la revisión 95.
En ese momento, incluso los números de versión menores indicaban versiones de kernel estables, mientras que los impares representaban versiones de desarrollo. Era importante tener ramas separadas para que los desarrolladores pudieran agregar y probar nuevas funciones en el kernel sin afectar la rama estable.
Los desarrolladores del kernel agregan y mejoran nuevas funciones en la rama de desarrollo hasta que se vuelve lo suficientemente estable como para lanzarse como un kernel LTS. El kernel LTS 3.2 se desarrolló estabilizando las nuevas funciones de la versión 3.1 y, de manera similar, un nuevo kernel de desarrollo 3.3 se ramificó a partir de 3.2 para dar paso a nuevas funciones que luego se introducirían en Linux 3.4.
A partir del kernel de Linux 2.4, una cuarta variable en el nombre del kernel denotaba los lanzamientos de parches. Puede decir que la versión 2.4.37.10 es el décimo lanzamiento del parche para el kernel 2.4.37.
Un lanzamiento de parche no significa la cantidad de problemas parcheados en un lanzamiento de kernel. En cambio, cuenta la cantidad de veces que se lanzó un kernel actualizado después de parchear los problemas encontrados.
Hasta Linux 2.6, se usaba este sistema de versiones y era efectivo para distinguir una versión específica de otras. Agregar recuentos de revisiones y lanzamientos de parches en el número de versión era descriptivo, pero significaba tener versiones de kernel más largas y complejas. Y una vez más, se requería un esquema nuevo y mejor.
¿Cómo se nombran ahora las versiones del kernel de Linux?
Con la versión 3.0 de Linux, Linus eliminó la cuarta variable del número de versión. Ahora, la versión del kernel se forma de acuerdo con la sintaxis: a B C, donde a, b y c son la versión principal, la versión secundaria y el número de revisiones, respectivamente. Este esquema de control de versiones es similar al utilizado entre las versiones de kernel 1.0 y 2.4.
Debido a los avances en sistemas de control de versiones, los colaboradores ahora pueden trabajar sin problemas en ramas estables y agregar nuevas funciones sin romper accidentalmente las versiones estables que ya funcionan. Por lo tanto, el uso de números de versión menores pares e impares para ramas estables y de producción del kernel se volvió superfluo después de la introducción de la versión 4.0 del kernel y la primera versión LTS (4.1) en la 4.x La serie tenía un número de versión menor impar.
También puede notar algunos caracteres al final del número de versión, como rcX. Los candidatos de revisión (o "rc" para abreviar) son versiones preliminares y versiones previas al parche del kernel que los desarrolladores necesitan parchear para eliminar errores y otros problemas. Estos son un reemplazo para las versiones de desarrollo que anteriormente se indicaban con un número de versión menor impar.
Aunque estas versiones están reservadas específicamente para los desarrolladores del kernel para que puedan solucionar los problemas informados e implementar nuevas funciones, también puede descargue y pruebe estos candidatos de revisión del kernel si lo desea, pero generalmente no se recomienda considerando que aquí es donde se encuentra la mayor parte del desarrollo. sucede La última versión preliminar del kernel en el momento de escribir este artículo es 5.19-rc6.
Para crear nuevas versiones, la variable anterior se incrementa cuando el valor de una variable alcanza un número específico. Por ejemplo, la versión principal se actualiza al siguiente dígito cada vez que el recuento de versiones secundarias se acerca a 20.
Linus mencionado en su correo de desarrollo del kernel 5.0 que simplemente actualizó el número principal a cinco porque el recuento de lanzamientos menores se hizo demasiado grande para contar con los dedos de las manos y los pies (¡20!). Del mismo modo, según kernel.org, el número de versión principal se incrementa cuando el número después del primer punto empieza a parecer "demasiado grande". La versión final del kernel en el 3.x serie fue 3.19 y la última gran 4.x La serie kernel era 4.20, que luego se elevó a 5.0.
Desde la versión 3.0, el núcleo de Linux ha estado siguiendo este esquema de versiones y ha demostrado ser eficiente durante tres lanzamientos principales del kernel (versiones 3.x, 4.x, y 5.x).
Identificación de una versión del kernel de Linux usando números de versión
Teniendo en cuenta la gran cantidad de versiones del kernel de Linux lanzadas, existe la necesidad de un sistema adecuado para identificar y diferenciar una versión específica de las demás. Con el nuevo esquema de control de versiones del kernel, las versiones del kernel ahora se pueden identificar y comparar de manera efectiva, y es fácil saber qué versión del kernel es la más reciente y cuál se lanzó antes.
Si desea verificar la versión del kernel de Linux instalada actualmente en su sistema, puede hacerlo usando uname, un comando de Linux que le permite enumerar información relacionada con el sistema. Dependiendo de la distribución que esté ejecutando, el número de versión que muestra uname puede ser diferente a las versiones reales del kernel de Linux.