Qual a diferença entre o lançamento e a versão do kernel / distribuição?

14

Eu uso o seguinte comando para ver o nome, versão e versão de um kernel.

-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

Qual é a diferença e a relação entre o lançamento e a versão do kernel? Obrigado!

Pergunta semelhante para uma distribuição Linux (por exemplo, Ubuntu, Mint, ...)? Ou seja, qual é a diferença e a relação entre o lançamento e a versão de uma distribuição Linux?

Tim
fonte

Respostas:

11

uname -r

A primeira é a string de versão que foi usada quando o kernel foi compilado. Esse é o papel de -r.

$ uname -r
3.13.7-100.fc19.x86_64

Essa string pode ficar um pouco confusa, mas a parte base (tudo antes do primeiro traço) faz parte da versão real do kernel do Linux que você está usando. O restante está relacionado às opções de embalagem que foram selecionadas.

O que quero dizer com isso?

  1. Bem, no cenário acima, o 3.13.7 seria a versão real do kernel.
  2. O -100 informa que vários pacotes de patches foram aplicados a ele pelo empacotador do Fedora, e eles estão rastreando esses conjuntos adicionais, acrescentando um número para acompanhá-los e também denotando que esse kernel é um kernel básico da versão 3.13.7 + tudo o que faz parte deste -100 .
  3. O kernel foi empacotado para a versão 19 do Fedora ( fc19 ).
  4. Foi empacotado para a arquitetura * x86_64 * (64 bits).

uname -v

Pois -vestá mostrando quando o kernel foi compilado / construído.

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

No meu sistema Fedora 19, você pode se convencer de que isso é verdade observando quando o pacote do kernel foi realmente construído via RPM.

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

As datas de compilação diferem um pouco, pois foi o uname -vque foi "queimado" no kernel quando foi compilado. A data de compilação no RPM é a partir de quando o RPM teve o tempo de compilação do kernel gravado nele, durante a construção do pacote.

slm
fonte
2

Lançamento, siga a versão do kernel com informações específicas do pacote / lançamento adicionadas. Se seguirmos o seu exemplo 2.6.32-279.el6.x86_64, isso significa:

  • 2.6.32 Kernel Linux, esta é a versão base e informa a versão do kernel Linux na maioria das distribuições e pacotes.
  • 279 é esta versão específica do pacote. el6sugere seu Enterprise Linux (RHEL / CentOS). O que acontece nessas distribuições é que elas usam a mesma versão do kernel apenas suportando patches importantes e aumentando o número do pacote toda vez que seu gerenciador de pacotes pode atualizá-lo. Essa tag de versão é específica da distribuição e pode variar entre diferentes distribuições e gerenciadores de pacotes. É escolhido em tempo de compilação.

Versão mostra que o kernel foi compilado.

phoops
fonte