O que são componentes do número da versão do kernel (w.x.yy-zzz) chamados? [duplicado]

0

Ao analisar os números de versão do kernel instalados em /boot usando um comando work in progress ( find /boot/vm* -printf "%A@ %p\n" ), vejo:

1469098968.0000000000 /boot/vmlinuz-3.13.0-92-generic
1477523408.0000000000 /boot/vmlinuz-3.2.0-113-generic
1476549941.0000000000 /boot/vmlinuz-4.4.0-43-generic
1477008540.0000000000 /boot/vmlinuz-4.4.0-45-generic
1470540722.0000000000 /boot/vmlinuz-4.6.3-040603-generic
1471805944.0000000000 /boot/vmlinuz-4.7.1-040701-generic
1472208664.0000000000 /boot/vmlinuz-4.7.2-040702-generic
1473382012.0000000000 /boot/vmlinuz-4.7.3-040703-generic
1474853146.0000000000 /boot/vmlinuz-4.7.5-040705-generic
1475960925.0000000000 /boot/vmlinuz-4.8.1-040801-generic
1477145804.0000000000 /boot/vmlinuz-4.8.4-040804-generic

Quais são os nomes próprios para "w.xx.y-zzz" que seguem o prefixo vmlinuz ?

O link duplicado proposto ( O que faz o quarto número na versão de lançamento significa? ) afirma que o segundo segmento é chamado de ABI Number . A resposta abaixo por muru afirma que o quarto segmento é o ABI Number , mas acredito que ambos estão errados com base nos links fornecidos na minha própria resposta abaixo.

Tenha em mente que esta pergunta é sobre TODOS os quatro segmentos w.x.yy-zzz e não apenas no quarto segmento zzz.

    
por WinEunuuchs2Unix 29.10.2016 / 16:51

2 respostas

5

Chamando w a versão, x a revisão principal e y a revisão menor é versões semânticas usando o significado de mudança . O Linux não usa esse versionamento semântico há muito tempo. Até 2003, o Linux usava versões ímpares (números ímpares são instáveis, números pares são estáveis). E então veio o 2.6, que durou uma era geológica em termos de software (até 2.6.39, 8 anos ).

Então, praticamente arbitrariamente, Linus acelerou a versão para 3.0. E isso acabou com toda a aplicabilidade dessa versão semântica para as versões do Linux. E quando a versão 3.20 estava vencida, Linus mudou para simplesmente incrementar w sempre x ficou grande o suficiente para ele ficou sem dedos e dedos para contá-lo .

Então, agora, a versão do kernel é apenas wx , o y em upstream indica um patch lançado - o Ubuntu apenas mantém 0, e z , como já mencionado, é o número ABI.

    
por muru 29.10.2016 / 20:10
2

Versão do Kernel. Revisão principal . Revisão Menor - Patch

Usando w.xx.y-zzz e olhando para o quarto arquivo listado /boot/vmlinuz-4.4.0-45 , podemos dizer:

  • w = Versão do Kernel = 4
  • xx = Revisão principal = 4
  • y = Revisão menor = 0
  • zzz = Número do patch = 45

Se alguém estiver usando 4.8.0 com o qual o Ubuntu 16.10 vem e encontrar a tela piscando, ele pode dizer "usei a versão anterior 4.4.0-45" (que o Ubuntu 16.04 usa) para corrigir o problema.

Em termos leigos, está correto, mas tecnicamente foi um downgrade de quatro níveis principais de revisão (4.8.y-z) para (4.4.y-z). Tecnicamente falando, para passar da versão 4.8 do kernel para uma versão anterior do kernel, ela teria que ser 3.2 ou 3.13 usando a lista de arquivos mostrada no OP.

Editar - Alterações no nome do segmento após o Kernel 3.0

As definições acima vêm de: ( Numeração de Versão do Kernel ) publicado em 9 de maio de 2006, mas agora estão obsoletas.

Como o link de comentário duplicado ( O que o quarto número na versão de lançamento significa? ) afirma que os novos nomes são:

<base kernel version>.<ABI number>.<upload number>-<flavour>

A duplicata proposta parece estar errada porque o segundo segmento no número da versão do Kernel parece não ter nada a ver com ABI . Na outra resposta postada neste tópico, o quarto segmento está ligado a ABI , mas isso também não parece certo. Aqui está o topo da lista de alterações ABI de ( Linha de tempo ABI do Kernel Linux ):

                ----- Symbols -----
Version Date    Added Removed Total
4.8.1   2016-10-07  141 50  1470
4.7.2   2016-08-20  170 42  881
4.6.1   2016-06-01  159 52  924
4.5.6   2016-06-01  146 41  994
4.4.5   2016-03-10  87  40  994
4.3.6   2016-02-20  166 51  1231
4.2.8   2015-12-15  213 75  1768
4.1.19  2016-03-05  204 88  1760
4.0.9   2015-07-21  159 53  822
3.19.8  2015-05-11  207 44  1146
3.18.28 2016-03-05  147 56  867
3.17.8  2015-01-08  165 46  688
3.16.7  2014-10-30  155 55  943
3.15.10 2014-08-14  129 98  1051
3.14.64 2016-03-10  279 91  1019
3.13.11 2014-04-23  140 99  822
3.12.56 2016-03-04  171 77  994

número ABI

De wiki.ubuntu , aprendemos:

% bl0ck_qu0te%

Resumo da numeração da versão do kernel Linux

De talvez a fonte mais definitiva ( wikipedia.org - Numeração de Versão do Kernel do Linux ) nós aprendemos:

O kernel do Linux teve três esquemas de numeração diferentes. Para resumir:

  • O primeiro esquema foi usado no período anterior a "1.0". A primeira versão do kernel foi de 0,01. Isto foi seguido por 0,02, 0,03, 0,10, 0,11, 0,12 (a primeira versão da GPL), 0,95, 0,96, 0,97, 0,98, 0,99 e, em seguida, 1,0. [303] A partir de 0,95, houve muitas versões de patches entre as versões.
  • Após o lançamento 1.0 e antes da versão 2.6, o número era composto como "a.b.c", onde o número "a" denotava a versão do kernel, o número "b" denotava a grande revisão do kernel, e o o número "c" indicou a menor revisão do kernel.
  • Em 2004, após a liberação da versão 2.6.0, os desenvolvedores do kernel realizaram várias discussões sobre o lançamento e versão esquema [304] [305] e, finalmente, Linus Torvalds e outros decidiram que um ciclo de lançamento "baseado no tempo" muito mais curto seria benéfico.
por WinEunuuchs2Unix 29.10.2016 / 16:51