Se você é usuário do Linux há muito tempo, sabe que as distribuições do Linux têm versões únicas e cada versão tem um codinome específico. O kernel do Linux também possui números de versão diferentes, que atuam como um identificador para a série à qual o kernel pertence. No entanto, há uma diferença entre como as versões do kernel foram formadas anteriormente e como Linus Torvalds as nomeia agora.

No final, você estará mais familiarizado com o esquema de versão do kernel Linux e se sentirá mais confortável lendo os números de versão do kernel e identificando os vários recursos associados a um lançamento específico.

O Versionamento Tradicional do Kernel Linux

Quando Linus começou a desenvolver o kernel, o sistema de versionamento usado consistia simplesmente em um esquema de variável de incremento começando com zero (0.x). Inicialmente, Linus era o único trabalhando no projeto, e este sistema de versionamento bastou para documentar e distribuir novas versões do kernel.

Aqui estão algumas das versões do kernel que seguiram este esquema de nomenclatura:

instagram viewer
Crédito da imagem: Wikipédia

Mais tarde, à medida que mais desenvolvedores começaram a contribuir para o projeto e o número de revisões e patches aumentou significativamente, foi decidido que este esquema de controle de versão não era adequado para software como um núcleo. E a partir da versão 1.0, Linus adotou um novo esquema com algumas variáveis ​​adicionais.

Introdução de um sistema de versionamento mais descritivo

Em 1994, com o lançamento do kernel Linux 1.00, Linus passou a utilizar um novo sistema de versionamento que empregava três variáveis ​​na sintaxe: "abc". Essas variáveis ​​(a, b e c) representam a versão principal, a versão secundária e o número de revisão para a versão específica do kernel, respectivamente.

Tome o kernel Linux 1.1.95 como exemplo. Você pode decodificá-lo como a primeira versão principal, a primeira versão secundária e a 95ª revisão.

Na época, mesmo números de versão menores denotavam lançamentos de kernel estáveis, enquanto os ímpares representavam lançamentos de desenvolvimento. Era importante ter ramificações separadas para que os desenvolvedores pudessem adicionar e testar novos recursos no kernel sem afetar a ramificação estável.

Os desenvolvedores de kernel adicionam e melhoram novos recursos na ramificação de desenvolvimento até que fique estável o suficiente para ser lançado como um kernel LTS. O kernel LTS 3.2 foi desenvolvido estabilizando os novos recursos da versão 3.1 e, da mesma forma, um novo kernel de desenvolvimento 3.3 ramificou-se de 3.2 para abrir caminho para novos recursos que seriam então introduzidos em Linux 3.4.

A partir do kernel Linux 2.4, uma quarta variável no nome do kernel denotava os lançamentos de patches. Você pode dizer que a versão 2.4.37.10 é o décimo lançamento de patch para o kernel 2.4.37.

Uma versão de patch não significa o número de problemas corrigidos em uma versão do kernel. Em vez disso, ele conta o número de vezes que um kernel atualizado foi lançado após corrigir os problemas encontrados.

Até o Linux 2.6, esse sistema de versionamento era usado e era eficaz para distinguir uma versão específica de outras. Adicionar contagens de revisões e lançamentos de patches no número da versão era descritivo, mas significava ter versões de kernel mais longas e complexas. E, mais uma vez, era necessário um esquema novo e melhor.

Como as versões do kernel Linux são nomeadas agora?

Com o Linux versão 3.0, Linus eliminou a quarta variável do número da versão. Agora, a versão do kernel é formada de acordo com a sintaxe: abc, onde a, b e c são a versão principal, a versão secundária e a contagem de revisões, respectivamente. Esse esquema de versão é semelhante ao usado entre as versões 1.0 e 2.4 do kernel.

Devido aos avanços sistemas de controle de versão, os contribuidores agora podem trabalhar perfeitamente em ramificações estáveis ​​e adicionar novos recursos sem prejudicar acidentalmente as versões estáveis ​​e já em funcionamento. Portanto, o uso de números de versão menores pares e ímpares para ramificações estáveis ​​e de produção do kernel tornou-se supérfluo após a introdução do kernel versão 4.0, e a primeira versão LTS (4.1) em a 4.x série tinha um número de versão menor ímpar.

Você também pode notar alguns caracteres no final do número da versão, como rcX. Os candidatos a revisão (ou "rc" para abreviar) são versões de pré-patch e versões pré-patch do kernel que os desenvolvedores precisam corrigir para remover bugs e outros problemas. Estes são um substituto para as versões de desenvolvimento que anteriormente eram indicadas por um número de versão secundária ímpar.

Embora essas versões sejam reservadas especificamente para desenvolvedores de kernel para que possam corrigir os problemas relatados e implementar novos recursos, você também pode baixe e teste esses candidatos à revisão do kernel, se desejar, mas geralmente não é recomendado, considerando que é onde a maior parte do desenvolvimento acontece. A versão de visualização mais recente do kernel no momento da redação deste artigo é 5.19-rc6.

Para criar novas versões, a variável anterior é incrementada quando o valor de uma variável atinge um número específico. Por exemplo, a versão principal é atualizada para o próximo dígito sempre que a contagem da versão secundária se aproxima de 20.

Linus mencionado em seu e-mail de desenvolvimento do kernel 5.0 que ele simplesmente atualizou o número principal para cinco porque a contagem de lançamentos secundários ficou muito grande para contar nos dedos das mãos e dos pés (20!). Da mesma forma, segundo kernel.org, o número da versão principal é incrementado quando o número após o primeiro ponto começa a parecer "muito grande". A versão final do kernel no 3.x série foi 3,19 e o último grande 4.x série do kernel era 4.20, que foi então aumentada para 5.0.

Desde a versão 3.0, o núcleo Linux tem seguido este esquema de versões e provou ser eficiente desde as três principais versões do kernel (versões 3.x, 4.x, e 5.x).

Identificando uma versão do kernel Linux usando números de versão

Considerando o grande número de versões do kernel Linux lançadas, há a necessidade de um sistema adequado para identificar e diferenciar uma versão específica das outras. Com o novo esquema de versão do kernel, as versões do kernel agora podem ser efetivamente identificadas e comparadas, e é fácil saber qual versão do kernel é a mais recente e qual foi lançada mais cedo.

Se você deseja verificar a versão do kernel do Linux atualmente instalada em seu sistema, você pode fazer isso usando uname, um comando do Linux que permite listar informações relacionadas ao sistema. Dependendo da distro que você está executando, o número da versão exibido por uname pode ser diferente das versões reais do kernel do Linux.