centos 内核升级
Contents
在线及离线升级 centos7 内核方法
在线升级流程
- 检查当前的内核版本:
|
|
- 安装 ELRepo 仓库,这是一个提供更新内核的第三方仓库,就可以直接使用 yum 更新内核:
|
|
- 列出可用的内核版本包:
|
|
这可以看到 ELRepo 中提供了哪些更新的内核版本包。
- 选择一个需要升级的内核版本并安装(版本解释往下拉):
|
|
将 lt 替换为你选择的内核版本。这将安装新的内核版本。
- 设置 grub 默认使用新的内核版本启动:
|
|
- 重启系统:
|
|
内核版本解析
kernel-lt 在 ELRepo 仓库中的内核包命名中,是“Long Term”的缩写,代表长期支持的内核。 ELRepo 中提供多种内核包,包括:
- kernel-lt - 长期支持内核
- kernel-ml - 主线(主开发分支)内核
- kernel-nl - 非长期支持的最新内核
|
|
- kernel-lt 对应版本是 5.4.255
- kernel-ml 对应版本是 6.1.6
- kernel-nl 对应版本也是 6.1.6
为什么有的教程让修改 grub 文件
在 CentOS 7 中配置 GRUB 默认内核的方法有两种:
- 修改 /etc/default/grub 文件中的 GRUB_DEFAULT 参数
- 使用 grub2-set-default 命令
对于第一种方法,修改 /etc/default/grub,需要在改完参数后运行: `grub2-mkconfig -o /boot/grub2/grub.cfg``
这是因为修改了 /etc/default/grub 只是改变了配置文件,还需要用 grub2-mkconfig 来根据配置文件生成实际的引导菜单配置文件 /boot/grub2/grub.cfg
所以一些教程会建议完整的步骤是:
|
|
而第二种方法使用 grub2-set-default 命令,它会直接修改 /boot/grub2/grub.cfg 文件,所以不需要 grub2-mkconfig 步骤。
这两种方法最终效果都是修改了 grub.cfg 文件中默认的内核入口,以实现设置默认内核的目的。
但 grub2-set-default 方法更简单直接,不需要手动修改配置并生成 grub.cfg 文件,所以更推荐使用这种方法,可以避免一些手动步骤带来的问题。 总结一下:
- 修改 /etc/default/grub 需要额外 grub2-mkconfig 生成 grub.cfg
- grub2-set-default 直接修改 grub.cfg,更简单直接
所以如果可以的话,建议使用 grub2-set-default 的方式来设置 GRUB 默认内核,更简单。
如何离线安装
- 如果你想自己获取,在完成上面的 repo以及列出可用内核后,可以指定下载离线 rpm 安装包 yum –disablerepo="*" –enablerepo=“elrepo-kernel” –downloadonly –downloaddir=/path/to/store/rpms install kernel-lt