Versão do kernel do Linux: Debian Sid vs Ubuntu Precise


9

Eu configurei duas máquinas:

Em uma máquina, instalei o Ubuntu Precise 12.04 beta e fiz o dist-upgrade para os pacotes mais recentes.

Na outra máquina, instalei o Debian Sid Unstable e fiz o dist-upgrade para os pacotes mais recentes.

Na máquina Ubuntu, uname -a diz:

Linux 3.2.0-20-generic # 32-Ubuntu SMP Qui Mar 22 02:22:46 UTC 2012 x86_64 x86_64 x86_64 GNU / Linux

Na máquina Debian, uname -a diz:

Linux 3.2.0-2-amd64 # 1 SMP Wed 28 de março 13:28:04 UTC 2012 x86_64 GNU / Linux

Minha pergunta é sobre as versões do kernel:

Ubuntu: 3.2.0-20-generic
Debian: 3.2.0-2-amd64

A versão 3.2 do Linux foi lançada em:

linux-3.2.tar.gz         05-Jan-2012 00:40   94M

Desde então, foram lançados 13 pontos, 3.2.1 .. 3.2.13 do kernel.org e 3.3 lançados.

Minha pergunta é sobre o histórico da árvore de origem dos dois núcleos nas minhas duas máquinas:

De que versão do kernel oficial do kernel.org são derivadas essas duas versões do kernel?

Qual é a relação das fontes do kernel Debian Sid com o kernel Ubuntu Precise?

As alterações feitas nas fontes do kernel.org para produzir o 3.2.0-2-amd64 também estão presentes no 3.2.0-20-generic no Ubuntu?

O kernel Debian Sid "upstream" do Ubuntu é um?

O que significa o número da quarta versão (após o primeiro traço) "2" no caso do Debian e "20" no caso do Ubuntu - e como isso se relaciona com o acima?

Respostas:


5

O kernel do Ubuntu não é o mesmo que o kernel upstream, embora os números de versão possam ser semelhantes. Você pode ler sobre o Ubuntu Kernel no Ubuntu Wiki, que responde sua primeira e sua quarta pergunta:

O Beta-2 inclui o kernel do Ubuntu 3.2.0-20.33, que é baseado no kernel Linux estável upstream v3.2.12.

As Perguntas frequentes do kernel do Ubuntu descrevem a numeração da versão da seguinte maneira:

Dada uma versão como 2.6.35-6.9-genericesta pode ser dividida em quatro partes, como abaixo:

<base kernel version>-<ABI number>.<upload number>-<flavour> A versão base do kernel representa a versão principal na qual o kernel do Ubuntu é baseado. O número ABI representa mudanças significativas na interface binária de aplicativos do kernel. O número de upload é um contador que aumenta monotonicamente para cada upload desta versão base. O sabor indica qual variante de configuração do kernel é essa

Você também pode verificar o mapeamento da versão do kernel do Ubuntu para o Mainline para obter mais informações sobre as versões do kernel do ubuntu e as versões do kernel upstream.


A menos que eu tenha entendido errado, as perguntas são Is the Debian Sid kernel "upstream" of the Ubuntu one?( Sim ) e From which release of official kernel.org kernel are those two versions of the kernel derived?( 3.2.0 ) - não qual versão do kernel.org é mais semelhante à versão do ubuntu ou quais patches da versão do kernel.org são incorporados e acredito que servem apenas para complicar o problema.
syserr0r

2

Suas perguntas

From which release of official kernel.org kernel are those two versions of the kernel derived?
Kernel versão 3.2.0 .

What is the relationship of the sources of the Debian Sid kernel to the Ubuntu Precise one?
Ambas são versões do Debian (sem alterações no Ubuntu), o pacote Debian (3.2.0-2) é a revisão 2 , o pacote Ubuntu (3.2.0-20) é a revisão 20 .

Are the changes made from the kernel.org sources to produce 3.2.0-2-amd64 also present in 3.2.0-20-generic on Ubuntu?
Não tenho certeza, pois são (afaik) pacotes diferentes ( genérico vs específico para amd64 ).

Is the Debian Sid kernel "upstream" of the Ubuntu one?
Sim . O Debian está a montante do Ubuntu. Alterações feitas pelo Ubuntu (significadas pelas revisões que terminam -ubuntuXonde Xé uma revisão) são normalmente mescladas novamente no Debian

Revisões Números

tl; dr version : O número após o hypen é o número de revisão fornecido pelo mantenedor do pacote após novas compilações / patches.

-

Para o Debian, o número após o hífen é o Debian Revision Number[ source ]
Para o Ubuntu, o número após o hypen é o Debian Revision Numbere o número após o -ubuntu(se existir) é o Ubuntu Revision Number[ source-2 ]

Geralmente o número após o hífen é a revisão que o mantenedor do pacote fornece.

Os pacotes dos mantenedores de pacotes geralmente têm patches de vários tipos aplicados a eles (como corrigir incompatibilidades; correções de segurança; pequenas melhorias; diferentes sinalizadores de compilação etc.); é por isso que no seu exemplo, a versão 3.2.0 do kernel tem várias revisões.

Só porque um é mais alto que o outro não significa necessariamente que é mais novo, melhor ou tem os mesmos patches aplicados. Isso ocorre porque eles podem ser diferentes mantenedores de pacotes que cuidam do pacote em cada distribuição e podem (por exemplo) corrigir com menos frequência (significando um número de revisão menor), mas ainda assim incorporar [alguns ou] todos os mesmos patches .

Nota : O Ubuntu é baseado no Debian, com maior frequência do que o Ubuntu possui todos os patches do Debian (e geralmente de uma versão mais recente do debian, como o teste)

Relacionamentos de Pacotes

Um pedaço de software é feito (por exemplo, kernel). Isto tem uma versão ( 3.2.0 ). Um mantenedor de pacotes ( Dave ) para uma distribuição ( Debian ). Ele pega o software e o empacota em um formato (.deb), de acordo com as diretrizes da distribuição. Esta é a versão 3.2.0-1 do kernel , também conhecida como kernel-3.2.0-1 .

Dave ainda não seguiu as diretrizes para a distro para a qual está empacotando ( Debian ) e, portanto, precisa fazer algumas alterações no pacote. Ele faz isso e envia sua versão atualizada. Esta é a versão 3.2.0-2 do kernel, também conhecida como kernel-3.2.0-2 .

Enquanto isso, o kernel 3.2.1 , 3.2.2 até o 3.2.25 foi lançado. O pacote em que Dave está trabalhando ainda é baseado no 3.2.0 . Ele começará a liberar 3.2.25 em breve, mas ainda não.

Ao mesmo tempo, outro mantenedor de pacotes ( Harry ) precisa do mesmo pacote para sua distribuição ( Ubuntu ). Como o Debian e o Ubuntu são semelhantes; em vez de fazer tudo do zero, ele apenas pega uma cópia do kernel 3.2.0-2 de Dave e a envia. Harry lança isso no Ubuntu como 3.2.0-2 .

Harry então quer fazer algumas mudanças no trabalho de Dave. Ele faz as alterações e libera seu pacote atualizado. Esta é a versão 3.2.0-2-ubuntu1

Neste exemplo: A
versão mais recente do kernelé 3.2.25 A
versão mais recente do kernelpacote para Debian é 3.2.0-2 A
versão mais recente do kernelpacote para Ubuntu é 3.2.0-2-ubuntu1


Sua informação está errada. A versão do kernel do ubuntu não é necessariamente a mesma do kernel upstream do kernel.org. O kernel do ubuntu 3.2.0-20.33 é baseado no kernel do linux 3.2.12 upstream.
Pkhamre 30/03/12

É a versão do kernel em que o pacote se baseia. Do próprio wiki do Ubuntu . As mudanças no kernel do linux da linha principal são frequentemente usadas como patches pelos mantenedores de pacotes, mas essa não era a questão.
syserr0r

A situação é um pouco enlameada. De acordo com as Perguntas frequentes do kernel do Ubuntu ( wiki.ubuntu.com/Kernel/… ), pode-se inferir a versão base do kernel a partir da versão Ubuntu. No entanto, na realidade, é preciso verificar / proc / version_signature ou consultar a lista em kernel.ubuntu.com/~kernel-ppa/info/kernel-version-map.html . Para alterações específicas, consulte o arquivo /usr/share/doc/linux-image-*/changelog.Debian.gz e compare-o com wiki.ubuntu.com/Kernel/FAQ/UbuntuDelta ou obtenha a árvore git do Ubuntu.
Mikko Rantalainen
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.