Sabores del kernel de Linux en versiones modernas

9

Hoy en día (18.04+) hay muchos más sabores del núcleo, y no todos están bien descritos. Veo esos:

  • generic, el predeterminado, con posible -hweramificación;
  • virtual- igual que genericpero excluyente modules-extra. Puede tener -hwerama también;
  • kvm;
  • azure, aws, gcp, gke- la orientación proveedores de la nube;
  • oem - ¿quién es ese?;
  • oracle - ¿Qué sistemas Oracle?

Entonces, ¿cómo elijo? Por ejemplo, VPS probablemente no necesita generickernel, virtualrequeriría un espacio en disco mucho menos valioso, pero ¿tal vez kvmsea ​​aún mejor? ¿Cuál es la diferencia en primer lugar?

Wiki tiene una página sobre el tema ( https://wiki.ubuntu.com/Kernel/Dev/Flavours ), pero está muy desactualizada.

Lapshin Dmitry
fuente
Este es un artículo mejor, pero no creo que responda a su pregunta "¿Cómo elijo?" wiki.ubuntu.com/Kernel/RollingLTSEnablementStack
Mármol orgánico
@OrganicMarble es realmente agradable y explica la pila HWE, pero sí, no los sabores del núcleo.
Lapshin Dmitry
@LapshinDmitry Siempre hay 'rodar el suyo' también ...
andrew.46
Dado el ejemplo de VPS (Virtual Private Server), supongo que eso depende de qué tipo de VPS esté en uso. La información de la etiqueta para 'vps' señaló que "[los] tipos de VPS más comunes son OpenVZ, KVM, Xen y VMWare". Para KVM, Ubuntu tiene la linux-kvmcon envasados en Launchpad y meta paquete de 16.04 y posteriores.
clearkimura

Respuestas:

4

Ubuntu Kernel Team tiene un sitio web dedicado que enlaza con varios informes sobre paquetes y versiones de kernel en Ubuntu. A partir de ahí, vea las versiones del paquete para ver rápidamente qué núcleos se mantienen actualmente en las versiones disponibles de Ubuntu.

Lista de sabores de kernel preempaquetados para Ubuntu:

  • linux que proporciona núcleos genéricos (12.04+)
  • linux-hweque proporciona la pila de habilitación de Ubuntu LTS
  • linux-hwe-edge tiene núcleos más nuevos que linux-hwe
  • linux-kvm que proporciona núcleos para sistemas virtuales (16.04+)
  • linux-aws que proporciona kernels para Amazon Web Services (14.04+)
  • linux-aws-edgetiene núcleos más nuevos que linux-aws(16.04+)
  • linux-aws-hwe puede proporcionar núcleos más nuevos que linux-aws-edge
  • linux-azure que proporciona núcleos para sistemas Azure (14.04+)
  • linux-euclid que proporciona núcleos para sistemas Intel Euclid (16.04)
  • linux-gcp que proporciona núcleos para Google Cloud Platform (16.04+)
  • linux-gcp-edgepuede proporcionar núcleos más nuevos que linux-gcp(18.04)
  • linux-oemque proporciona núcleos para sistemas OEM , incluidos Dell, Lenovo, Acer, etc. (16.04+)
  • linux-oem-osp1tiene núcleos más nuevos que linux-oem(18.04+)
  • linux-oracle que proporciona núcleos para sistemas Oracle (16.04+)
  • linux-oracle-edgetiene núcleos más nuevos que linux-oracle(aún no hay lanzamiento)
  • linux-raspi2 que proporciona núcleos para la arquitectura BCM2709 (16.04+)
  • linux-snapdragon que proporciona núcleos para la arquitectura Qualcomm Snapdragon 410c (16.04+)

Lo que se ha enumerado aquí excluye algunos paquetes meta y transitorios que no se encuentran en las versiones del paquete , pero que se encuentran en la Búsqueda de paquetes de Ubuntu . Cada descripción se ha adaptado de los paquetes de Ubuntu o, alternativamente, la descripción del apt-cache show <package>comando.

Entonces, ¿cómo elijo?

Es cierto que no existe una guía definitiva para elegir qué núcleos utilizar caso por caso.

Los usuarios finales generalmente no necesitan elegir un kernel de Linux diferente, por ejemplo, al instalar Ubuntu Desktop en una máquina virtual, simplemente funcionará. Si las imágenes de descarga proporcionadas no satisfacen las necesidades y, en su lugar, el usuario tuvo que decidir qué núcleos usar, lo más probable es que el usuario deba preguntar a quien proporcione el servicio para ejecutar Ubuntu. Deberían tener la respuesta.

¿Cuál es la diferencia en primer lugar?

En una palabra: optimización.

Los usuarios finales generalmente no llegan tan lejos para descubrir qué cosas están optimizadas para todos y cada uno de los núcleos preempaquetados para Ubuntu. No hay una manera fácil de saber cuál es la diferencia en primer lugar, a menos que la documentación se haya realizado correctamente. Hay un lugar para averiguarlo: registro de cambios.

Los registros de cambios son específicos para cada paquete y las versiones actualmente compatibles. Por ejemplo, el registro de cambios para linuxen bionic ha observado más cambios relacionados con la optimización para varias plataformas en general, mientras que el registro de cambios para linux-kvmen bionic ha notado más cambios relacionados con los contenedores (virtualización a nivel del sistema operativo).

Los usuarios finales de TL; DR no necesitan elegir y en su lugar utilizar los núcleos incluidos en las imágenes de Ubuntu. De lo contrario, busque a alguien con el conocimiento: el proveedor de servicios o quien sea.

clearkimura
fuente
Esa es una gran respuesta, ¡gracias!
Lapshin Dmitry
1
Sobre el tema de no elegir porque el proveedor ha pensado: he visto muchos VPS ejecutando un núcleo genérico de 300 MB solo porque, creo, solo mucha gente realmente sabe la diferencia. Por lo tanto, poner pautas para verificar el núcleo que se utilizará podría ayudar a la comunidad.
Lapshin Dmitry