现代版本中的 Linux 内核风格

Lap*_*try 10 kernel

如今(18.04+)有更多的内核风味,并不是所有的都得到了很好的描述。我看到那些:

  • generic, 默认一个, 有可能的-hwe分支;
  • virtual— 相同generic但不包括modules-extra。也可以有-hwe分支;
  • kvm;
  • azure, aws, gcp, gke— 针对云提供商;
  • oem - 那是谁?;
  • oracle — 什么 Oracle 系统?

那么,我该如何选择呢?例如,VPS 可能不需要generic内核,virtual需要更少的宝贵磁盘空间,但也许kvm更好?首先有什么区别?

Wiki 有一个关于该主题的页面(https://wiki.ubuntu.com/Kernel/Dev/Flavors),但它已经过时了。

小智 5

Ubuntu 内核团队有一个专门的网站,可以链接到有关 Ubuntu 内核包和版本的各种报告。从那里,查看软件包版本以快速查看当前在可用 Ubuntu 版本上维护的内核。

为 Ubuntu 预打包的内核风格列表:

此处列出的内容不包括在软件包版本中未找到但在Ubuntu 软件包搜索中找不到的一些元和过渡软件包。每个描述都改编自 Ubuntu 软件包或来自apt-cache show <package>命令的描述。

那么,我该如何选择呢?

诚然,没有明确的指南可以根据具体情况选择使用哪些内核。

最终用户通常不需要选择不同的 Linux 内核,例如,在虚拟机中安装 Ubuntu Desktop 时——它会正常工作。如果提供的下载图像不能满足需求,而是用户必须决定使用哪些内核,那么用户很可能需要询问提供服务的人来运行 Ubuntu。他们应该有答案。

首先有什么区别?

一个字:优化。

最终用户通常不会去了解为 Ubuntu 预打包的每个内核优化了哪些内容。除非文档正确完成,否则没有简单的方法可以首先知道有什么区别。有一个地方可以找到:更新日志。

更改日志特定于每个包和当前支持的版本。例如,bionic 中的更改日志linux记录了更多与一般平台优化相关的更改linux-kvm,而bionic 中的更改日志记录了更多与容器(操作系统级虚拟化)相关的更改。

TL;DR最终用户无需选择而是使用 Ubuntu 映像中包含的任何内核。否则,寻找有知识的人——服务提供商或任何人。

  • 关于不选择的问题,因为供应商已经考虑过:我看到很多 VPS 运行 300MB 通用内核,因为我相信,只有这么多人真正知道其中的区别。因此,实际上制定指南来检查要使用的内核可以帮助社区。 (2认同)