CentOS内核升级
在 CentOS 7.9 中,默认的内核版本是 3.10.x,如果你想升级到 5.x 版本的内核(例如 5.4 或 5.10 等),可以通过以下步骤进行操作。升级内核通常是为了获得更好的性能、支持新硬件或使用最新的内核特性。
注意事项:
1. 备份重要数据:升级内核可能会导致系统不稳定或无法启动,因此在操作之前务必备份重要数据。
2. 确保兼容性:某些应用程序可能依赖于特定的内核版本,升级前请确保应用程序与新内核兼容。
3. 回滚计划:如果升级后出现问题,可以通过 GRUB 引导菜单选择旧的内核版本启动。
步骤 1:更新系统
在开始升级内核之前,建议先更新系统中的所有软件包,以确保系统的最新状态。
sudo yum update -y
完成后,重启系统以应用更新:
sudo reboot
步骤 2:启用 ELRepo 仓库
ELRepo 是一个第三方仓库,提供了较新的内核版本。我们可以通过启用 ELRepo 来安装最新的内核。
1. 导入 ELRepo 的 GPG 公钥:
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
2. 安装 ELRepo 仓库:
sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
步骤 3:安装新内核
ELRepo 提供了两种类型的内核:
•kernel-lt:长期支持(Long Term)内核,通常是稳定版。
•kernel-ml:主线(Mainline)内核,通常是最新版本。
安装主线内核(5.x 版本):
sudo yum --enablerepo=elrepo-kernel install kernel-ml -y
如果你需要长期支持的内核,可以安装 kernel-lt:
sudo yum --enablerepo=elrepo-kernel install kernel-lt -y
或者
步骤三:手动上传内核包
[root@trs26 centos7]# ll -h total 74M -rw-r--r-- 1 root root 51M Feb 21 12:08 kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm -rw-r--r-- 1 root root 13M Feb 21 12:08 kernel-lt-devel-5.4.278-1.el7.elrepo.x86_64.rpm -rw-r--r-- 1 root root 8.3M Feb 21 12:08 kernel-lt-doc-5.4.278-1.el7.elrepo.noarch.rpm -rw-r--r-- 1 root root 1.4M Feb 21 12:08 kernel-lt-headers-5.4.278-1.el7.elrepo.x86_64.rpm -rw-r--r-- 1 root root 231K Feb 21 12:08 kernel-lt-tools-5.4.278-1.el7.elrepo.x86_64.rpm -rw-r--r-- 1 root root 120K Feb 21 12:08 kernel-lt-tools-libs-5.4.278-1.el7.elrepo.x86_64.rpm -rw-r--r-- 1 root root 98K Feb 21 12:08 kernel-lt-tools-libs-devel-5.4.278-1.el7.elrepo.x86_64.rpm
执行安装: rpm -ivh kernel-lt-*.rpm
如果遇到报错: Finished Dependency Resolution Error: kernel-lt-tools conflicts with kernel-tools-3.10.0-1160.119.1.el7.x86_64 Error: kernel-lt-headers conflicts with kernel-headers-3.10.0-1160.119.1.el7.x86_64 Error: kernel-lt-tools-libs conflicts with kernel-tools-libs-3.10.0-1160.119.1.el7.x86_64 You could try using --skip-broken to work around the problem ** Found 3 pre-existing rpmdb problem(s), 'yum check' output follows: sysbench-1.0.17-2.el7.x86_64 has missing requires of libaio.so.1()(64bit) sysbench-1.0.17-2.el7.x86_64 has missing requires of libaio.so.1(LIBAIO_0.1)(64bit) sysbench-1.0.17-2.el7.x86_64 has missing requires of libaio.so.1(LIBAIO_0.4)(64bit)
解决依赖冲突问题 卸载冲突的kernel-tools包
再进行安装 |
步骤 4:设置默认启动内核
安装完成后,你需要设置 GRUB 引导程序,使其默认启动新安装的内核。
1. 查看当前的内核列表:
awk -F' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
输出示例:
0 : CentOS Linux (5.10.0-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.45.1.el7.x86_64) 7 (Core)
在这个例子中,0 是新安装的 5.x 内核,1 是旧的 3.10 内核。
2. 设置默认启动项为新内核(假设新内核是第 0 项):
sudo grub2-set-default 0
3. 生成新的 GRUB 配置文件:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
步骤 5:重启系统
完成上述步骤后,重启系统以应用新的内核。
sudo reboot
步骤 6:验证新内核
系统重启后,可以通过以下命令检查当前运行的内核版本:
uname -r
如果输出类似于 5.10.0-1.el7.elrepo.x86_64,说明你已经成功升级到 5.x 内核。
你可以轻松将 CentOS 7.9 的内核从 3.10 升级到 5.x 版本。升级完成后,记得测试系统的稳定性,并确保所有应用程序都能正常运行。