我不需要 Linux 内核的哪些部分?

我不需要 Linux 内核的哪些部分?

我想在LOC中得到答案。

我知道大多数模块/驱动程序、虚拟化增强功能、Android 补丁等都可以立即从内核中排除。但我的问题更多的是要求冗长和理论性的答案,因此可以作为其他人的参考。

那么,作为普通用户我不需要 Linux 的哪些功能呢?更好的是,让我们想象一个临时计算机用户浏览网站、进行一些办公处理等。没有什么特别的或开发/黑客攻击。

在这个立场上,我想知道内核的哪些部分以及相应的代码数量可以从 Linux 中删除。

通过这一点,外行人可以知道Linux 到底有多“单一”。

UPD:@MatthewRock 我理解你在回答中所说的内容,这是一个合理的建议。如果你这样理解的话,我并不提倡定制内核。它更多的是关于默认内核各部分的有用状态。我想我最好提供一个我认为完美答案的例子,而不需要回答自己,例如:

你不需要这些:

  • STM32的SPI代码=XXXLOC

  • KVM 支持 = YYYLOC

  • “呼呼我是一只羊”标记 = ZZZLOC

答案1

简单的答案是:这取决于您的硬件和要求。

大多数发行版都为您提供已编译的内核。这些内核的创建是为了让它们在尽可能多的机器上工作 - 因此,它们包含许多对您来说并不真正需要的东西。

内核包含很多东西。您想要编译某些驱动程序 - 不幸的是我无法告诉您哪些驱动程序 - 这些取决于您的硬件。您可以跳过其余部分 - 您不需要无论如何都不会使用的驱动程序。

内核还支持一些文件系统 - 如果你知道你不会使用某些文件系统,你可能也不会编译这些驱动程序 - 当需要使用某些文件系统时,你总是可以重新编译内核。

假设您是一名普通 Linux 用户。你该怎么办?

我的建议是:保持内核不变。通常内核就很好,你不会从周围的调整中获得任何明显的东西。如果您没有经验,如果出现问题,这也可能会变得混乱,所以为了安全起见,就不要管它了。

如果您是“黑客”或“程序员”,情况也是如此。您不需要调整内核来成为更好的程序员/使编程更容易 - 毕竟,程序应该在没有调整的内核上运行(或者程序的意义是什么?)。内核配置主要是针对爱好者,或者需要这样做的人(例如嵌入式设备的内核)。 Funtoo - Gentoo 创建者的新项目 - 也使用预编译的内核。

然而,自己编译内核可能是一个有趣的经历。您可以(稍微)了解它是如何工作的,以及“幕后”是什么。您可以确保打开/关闭一些您想要的东西。您可以了解有关 Linux 的更多信息。

但老实说,如果您不需要它 - 您可以使用默认内核。如果您想要更多,您可以随时寻找预编译的强化内核或其他定制内核,一切都会好起来的。

相关内容