Tipos de kernel Linux em versões modernas

9

Atualmente (18.04 +) existem muito mais tipos de kernel, e nem todos são bem descritos. Eu vejo esses:

  • generic, o padrão, com possível -hweramificação;
  • virtual- o mesmo que genericmas excluindo modules-extra. Pode ter -hwefilial também;
  • kvm;
  • azure, aws, gcp, gke- alvo provedores de nuvem;
  • oem - que é aquele?;
  • oracle - quais sistemas Oracle?

Então, como eu escolho? Por exemplo, o VPS provavelmente não precisa de generickernel, virtualexigiria muito menos espaço em disco valioso, mas talvez kvmseja ainda melhor? Qual é a diferença em primeiro lugar?

O Wiki tem uma página sobre o assunto ( https://wiki.ubuntu.com/Kernel/Dev/Flavours ), mas está desatualizada.

Lapshin Dmitry
fonte
Este é um artigo melhor, mas acho que não responde à sua pergunta "como faço para escolher". wiki.ubuntu.com/Kernel/RollingLTSEnablementStack
Organic Marble
O @OrganicMarble é realmente legal e explica a pilha HWE, mas sim, não os sabores do kernel.
Lapshin Dmitry
@LapshinDmitry Sempre há sempre 'roll your own' também ...
andrew
Dado o exemplo do VPS (servidor privado virtual), acho que depende de que tipo de VPS em uso? As informações da tag para 'vps' observaram que "[os] tipos mais comuns de VPS são OpenVZ, KVM, Xen e VMWare". Para KVM, o Ubuntu tem a linux-kvmcom pré-embalados no Launchpad e meta pacote para 16,04 e mais recentes.
Clearkimura 13/09/19
Relacionado a wiki desatualizado: Página muito desatualizada no wiki.ubuntu.com: O que você pode fazer?
Clearkimura 16/09/19

Respostas:

4

A Equipe do Kernel do Ubuntu possui um site dedicado que cria links para vários relatórios sobre pacotes e versões do kernel no Ubuntu. A partir daí, veja as versões dos pacotes para ver rapidamente quais kernels são mantidos atualmente nas versões disponíveis do Ubuntu.

Lista de tipos de kernel pré-empacotados para Ubuntu:

  • linux que fornece kernels genéricos (12.04+)
  • linux-hweque fornece a pilha de ativação do Ubuntu LTS
  • linux-hwe-edge tem kernels mais recentes que linux-hwe
  • linux-kvm que fornece kernels para sistemas virtuais (16.04+)
  • linux-aws que fornece kernels para Amazon Web Services (14.04+)
  • linux-aws-edgetem kernels mais recentes que linux-aws(16.04+)
  • linux-aws-hwe pode fornecer kernels mais recentes que linux-aws-edge
  • linux-azure que fornece kernels para sistemas Azure (14.04+)
  • linux-euclid que fornece kernels para sistemas Intel Euclid (16.04)
  • linux-gcp que fornece kernels para o Google Cloud Platform (16.04 ou superior)
  • linux-gcp-edgepode fornecer kernels mais recentes que linux-gcp(18.04)
  • linux-oemque fornece kernels para sistemas OEM , incluindo Dell, Lenovo, Acer, etc. (16.04+)
  • linux-oem-osp1tem kernels mais recentes que linux-oem(18.04+)
  • linux-oracle que fornece kernels para sistemas Oracle (16.04+)
  • linux-oracle-edgetem kernels mais recentes que linux-oracle(ainda não há release)
  • linux-raspi2 que fornece kernels para a arquitetura BCM2709 (16.04+)
  • linux-snapdragon que fornece kernels para a arquitetura Qualcomm Snapdragon 410c (16.04+)

O que foi listado aqui exclui alguns pacotes meta e de transição que não são encontrados nas versões dos pacotes , mas encontrados na Pesquisa de Pacotes Ubuntu . Cada descrição foi adaptada dos pacotes Ubuntu ou, alternativamente, a descrição do apt-cache show <package>comando.

Então, como eu escolho?

É certo que não há um guia definitivo para escolher quais kernels usar caso a caso.

Os usuários finais geralmente não precisam escolher um kernel Linux diferente, por exemplo, ao instalar o Ubuntu Desktop em uma máquina virtual - ele simplesmente funciona. Se as imagens de download fornecidas não atenderem às necessidades e, em vez disso, o usuário tiver que decidir quais kernels usar, provavelmente o usuário precisará perguntar a quem fornece o serviço para executar o Ubuntu. Eles devem ter a resposta.

Qual é a diferença em primeiro lugar?

Em uma palavra: otimização.

Os usuários finais geralmente não vão tão longe para descobrir quais são as coisas otimizadas para todos os kernels pré-embalados para o Ubuntu. Não há uma maneira fácil de saber qual é a diferença, a menos que a documentação tenha sido feita corretamente. Há um lugar para descobrir: Changelog.

Os registros de alterações são específicos para cada pacote e os lançamentos atualmente suportados. Por exemplo, o log de alterações linuxno biônico observou mais alterações relacionadas à otimização para várias plataformas em geral, enquanto o log de alterações linux-kvmno biônico observou mais alterações relacionadas aos contêineres (virtualização no nível do SO).

Os usuários finais TL; DR não precisam escolher e, em vez disso, usar os kernels incluídos nas imagens do Ubuntu. Senão, procure alguém com conhecimento - o provedor de serviços ou quem quer que seja.

clearkimura
fonte
Essa é uma ótima resposta, obrigado!
Lapshin Dmitry 15/09/19
11
Sobre o assunto de não escolher porque o fornecedor pensou nisso: eu já vi muitos VPS executando um kernel genérico de 300 MB apenas porque, acredito, poucas pessoas realmente sabem a diferença. Portanto, colocar diretrizes para verificar o kernel a ser usado pode ajudar a comunidade.
Lapshin Dmitry 15/09/19