img*_*x64 13 linux linux-kernel
大多数 Linux 发行版都附带特定的内核版本,并且仅在点发布 ( x.y.zto x.y.(z+1)) 和安全更新时对其进行更新。
另一方面,我知道 Linux 有一个非常严格的政策,即不更改内核 ABI 并且永远不会破坏用户空间。事实上,Linus 已经有许多针对想要(有意或无意地)以非向后兼容方式更改内核的开发人员的公开发脾气。
我不明白为什么发行版使用“稳定”内核而不是总是更新到最新的内核。这不是批评,我只是想知道原因。
我不是为发行版工作,但我至少可以想到两个原因:
Linux 内核的系统调用接口非常稳定。但是内核有其他接口并不总是兼容。
/proc大部分是稳定的,但过去发生了一些变化(例如,一些界面/sys在/sys创建后移动了一段时间)。/sys包含一些稳定的接口(在 中列出Documentation/ABI/stable)和一些不是。您不应该使用那些不是的,但有时人们会这样做,并且简单的安全性和稳定性升级不应该为他们带来麻烦。总而言之,不切换到更新内核版本的主要原因是第三方模块。
尽管如此,一些发行版还是提供了最新的内核作为选项。例如,Debian 通过向后移植向稳定版本的用户提供来自测试的内核。同样,在 Ubuntu LTS 上,可以使用来自较新 Ubuntu 版本的内核,但默认情况下不使用。这对于在分发完成时尚不支持的硬件上的新安装非常有用。