当我安装更新的内核(作为常规更新的一部分)时,它比其他任何更新花费的时间都要长得多。(我说的是几分钟——并不是很长的时间。)没有错误消息。我说的是成功的常规更新。
我已经注意到这个问题很多年了。无论具体是哪个内核,都无所谓。
我的网速很快。下载时间不长,我没有计算下载时间。我也没有计算安装内核后重启的时间。
我只是想知道它为什么花了这么长时间。
虽然卸载旧内核版本比安装新内核版本要快一点,但也需要很长时间。
部分原因可能是因为它必须运行几次 grub update,这很耗时。从我看到的一些消息来看,它似乎总是运行两次。我不知道为什么。
内核更新实际上起什么作用?
(我知道内核是什么以及它们的作用。我特别想问的是更新过程本身。)
答案1
如果没有具体细节的话很难说,但总的来说:
- 更新 initfs(在加载所有模块之前用于启动系统的内存文件系统)这可能需要一段时间。
- 重建所有 DKMS 模块,许多“第三方”模块(如视频卡驱动程序或 Virtual Box 模块)都以 DKMS 包的形式分发。它们在每个内核版本中都会重新编译。Virtual Box 的主机操作系统驱动程序可能需要很长时间,具体取决于它们的“使用情况”。
- 更新 Grub — 这可能需要一段时间,也可能需要,具体取决于设置。
- 重新启动服务,虽然对于内核更新来说并不是必需的,但更新 DKMS 包在某些情况下可能需要重新启动服务。例如 VMWare(我认为)
- 构建系统地图。
- 更新依赖关系树
其中一些步骤可能非常快,也可能非常长。例如,如果您必须等待服务完全关闭,则在 VMWare Server 上重建 DKMS 包可能需要几个小时,而在没有 DKMS 模块的系统上更新 DKMS 包只需很少的时间(刚好够检查没有模块)。